02:02:18.648 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 02:02:18.650 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 02:02:18.651 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 02:02:18.651 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=8.6ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 02:02:18.651 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 02:02:18.652 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 02:02:18.652 [info] Reset 0 executing jobs 02:02:18.652 [info] Creating blank file: /config/extras/cookies.txt 02:02:18.652 [info] Creating blank file: /config/extras/yt-dlp-configs/base-config.txt 02:02:18.653 [info] Creating blank file and making it executable: /config/extras/user-scripts/lifecycle 02:02:18.654 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 02:02:20.075 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2025.09.26 02:02:20.075 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 02:02:20.324 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 02:02:20.325 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=1672.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:02:20.327 [debug] QUERY OK source="settings" db=1.4ms idle=1674.3ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2025.09.26", 1] 02:02:20.328 [debug] QUERY OK source="settings" db=0.3ms idle=1675.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:02:20.329 [debug] QUERY OK source="settings" db=0.2ms idle=1675.9ms UPDATE "settings" SET "apprise_version" = ? WHERE "id" = ? ["v1.9.4", 1] 02:02:20.329 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:02:20.334 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 02:02:20.345 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 02:02:20.347 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 02:02:20.357 [info] {"args":{},"id":1,"meta":{},"system_time":1775260940357514127,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 02:02:20.358 [info] Updating yt-dlp 02:02:20.358 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 02:02:21.640 [debug] Tzdata polling for update. 02:02:21.821 [info] tzdata release in place is from a file last modified Thu, 16 Jan 2025 17:10:51 GMT. Release file on server was last modified Mon, 02 Mar 2026 15:21:37 GMT. 02:02:21.821 [debug] Tzdata downloading new data from https://data.iana.org/time-zones/tzdata-latest.tar.gz 02:02:22.214 [debug] Tzdata data downloaded. Release version 2026a. 02:02:23.421 [info] Tzdata has updated the release from 2025a to 2026a 02:02:23.422 [debug] Tzdata deleting ETS table for version 2025a 02:02:23.429 [debug] Tzdata deleting ETS table file for version 2025a 02:02:23.544 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Current version: stable@2025.09.26 from yt-dlp/yt-dlp Latest version: stable@2026.03.17 from yt-dlp/yt-dlp Current Build Hash: d2f07382138f4bd882254996502636f5a67a8c5ee5ab8a25807e2784a4878642 Updating to stable@2026.03.17 from yt-dlp/yt-dlp ... Updated yt-dlp to stable@2026.03.17 from yt-dlp/yt-dlp 02:02:23.544 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 02:02:24.331 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 02:02:24.332 [debug] QUERY OK source="settings" db=0.4ms idle=978.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:02:24.333 [debug] QUERY OK source="settings" db=0.7ms idle=690.9ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2026.03.17", 1] 02:02:24.334 [info] {"args":{},"id":1,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":3975857,"event":"job:stop","queue_time":355422,"attempt":1,"tags":["local_data"]} 02:02:29.678 [info] GET / 02:02:29.679 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:02:29.680 [debug] QUERY OK source="settings" db=0.6ms idle=312.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:02:29.681 [debug] QUERY OK source="settings" db=0.4ms idle=38.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:29.682 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.3ms idle=39.6ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:02:29.683 [debug] QUERY OK source="sources" db=0.5ms queue=0.3ms idle=40.7ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:02:29.684 [debug] QUERY OK source="settings" db=0.5ms idle=42.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:29.685 [debug] QUERY OK source="settings" db=0.3ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:29.692 [info] Sent 200 in 14ms 02:02:50.337 [info] {"source":"oban","duration":1888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:00.336 [info] {"source":"oban","duration":466,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:03:06.913 [info] GET / 02:03:06.913 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:03:06.914 [debug] QUERY OK source="settings" db=0.3ms idle=1272.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:03:06.915 [debug] QUERY OK source="settings" db=0.6ms idle=1272.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:03:06.916 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1273.8ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:03:06.916 [debug] QUERY OK source="sources" db=0.2ms idle=1274.6ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:03:06.917 [debug] QUERY OK source="settings" db=0.3ms idle=472.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:03:06.917 [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 [] 02:03:06.919 [info] Sent 200 in 6ms 02:03:09.881 [info] GET /media_profiles/new 02:03:09.881 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 02:03:09.882 [debug] QUERY OK source="settings" db=0.4ms idle=1240.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:03:09.883 [debug] QUERY OK source="settings" db=0.5ms idle=1241.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:03:09.884 [debug] QUERY OK source="settings" db=0.6ms idle=1242.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:09.886 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1244.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:03:09.889 [info] Sent 200 in 8ms 02:03:20.340 [info] {"source":"oban","duration":1618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:50.342 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:00.337 [info] {"source":"oban","duration":555,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:04:07.671 [info] GET / 02:04:07.672 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:04:07.673 [debug] QUERY OK source="settings" db=0.6ms 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 [] 02:04:07.674 [info] GET / 02:04:07.674 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:04:07.674 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=32.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:07.675 [debug] QUERY OK source="media_profiles" db=0.3ms idle=33.4ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:04:07.675 [debug] QUERY OK source="settings" db=0.7ms idle=33.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:07.676 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=33.9ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:04:07.676 [debug] QUERY OK source="settings" db=0.4ms 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:04:07.677 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:04:07.677 [debug] QUERY OK source="sources" db=0.2ms idle=1.7ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:04:07.678 [debug] QUERY OK source="settings" db=0.7ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:07.678 [debug] QUERY OK source="settings" db=0.5ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:07.679 [debug] QUERY OK source="settings" db=0.7ms queue=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 [] 02:04:07.679 [debug] QUERY OK source="settings" db=0.5ms queue=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 [] 02:04:07.682 [info] Sent 200 in 10ms 02:04:07.682 [info] Sent 200 in 8ms 02:04:09.271 [info] GET / 02:04:09.271 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:04:09.272 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1593.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:09.273 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1594.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:09.274 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=1594.8ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:04:09.276 [debug] QUERY OK source="sources" db=0.4ms queue=0.4ms idle=1595.4ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:04:09.277 [debug] QUERY OK source="settings" db=0.4ms queue=0.7ms idle=687.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:09.278 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:09.282 [info] Sent 200 in 10ms 02:04:10.922 [info] GET /assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd 02:04:10.924 [debug] QUERY OK source="settings" db=0.3ms idle=329.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:10.924 [debug] QUERY OK source="settings" db=0.3ms 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 [] 02:04:10.925 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:10.926 [error] #PID<0.2641.0> running PinchflatWeb.Endpoint (connection #PID<0.2638.0>, stream id 3) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/app-84c55c57753816656f5134f541d32ba5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2638.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 41672}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4", "host" => "pinchflat.trylik.pl", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "104.252.191.210", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4" }, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2641.0>, params: %{}, path_info: ["assets", "app-84c55c57753816656f5134f541d32ba5"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4"}, {"host", "pinchflat.trylik.pl"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "104.252.191.210"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-hSPXsM-ERnIAAHEC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2638.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 41672}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4", "host" => "pinchflat.trylik.pl", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "104.252.191.210", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/app-84c55c57753816656f5134f541d32ba5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2638.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 41672}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", (truncated) 02:04:11.960 [info] GET /media_profiles/new 02:04:11.961 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 02:04:11.962 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1319.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:11.963 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1321.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:11.964 [debug] QUERY OK source="settings" db=0.4ms idle=1040.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:11.966 [debug] QUERY OK source="settings" db=0.5ms idle=1041.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:11.968 [info] GET /sources/new 02:04:11.968 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 02:04:11.970 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.6ms idle=371.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 02:04:11.970 [info] Sent 200 in 9ms 02:04:11.970 [debug] QUERY OK source="settings" db=0.2ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:11.971 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:11.972 [debug] QUERY OK source="settings" db=0.1ms queue=0.2ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:11.973 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=6.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:11.976 [info] Sent 200 in 8ms 02:04:11.980 [info] GET /%3Fonboarding%3D0 02:04:11.981 [debug] QUERY OK source="settings" db=0.3ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:11.981 [debug] QUERY OK source="settings" db=0.2ms idle=10.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:11.981 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:11.981 [error] #PID<0.2644.0> running PinchflatWeb.Endpoint (connection #PID<0.2636.0>, stream id 3) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /%3Fonboarding%3D0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /%3Fonboarding%3D0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2636.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/%3Fonboarding%3D0", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 41658}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4", "host" => "pinchflat.trylik.pl", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "104.252.191.210", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4" }, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2644.0>, params: %{}, path_info: ["%3Fonboarding%3D0"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4"}, {"host", "pinchflat.trylik.pl"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "104.252.191.210"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/%3Fonboarding%3D0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-hWLghH_ijWUAAHUC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2636.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/%3Fonboarding%3D0", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 41658}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4", "host" => "pinchflat.trylik.pl", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "104.252.191.210", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /%3Fonboarding%3D0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2636.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/%3Fonboarding%3D0", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 41658}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4", "host" => "pinchflat.trylik.pl", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\ (truncated) 02:04:12.126 [info] GET /https%3A/github.com/kieraneglin/pinchflat/issues/234 02:04:12.128 [debug] QUERY OK source="settings" db=0.5ms idle=155.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:12.128 [info] GET /favicon.ico%3Fcachebust%3D2024-03-20 02:04:12.128 [debug] QUERY OK source="settings" db=0.3ms idle=156.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:12.128 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:12.130 [debug] QUERY OK source="settings" db=1.0ms idle=155.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:12.131 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=149.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:12.132 [info] GET /https%3A/supporters.eff.org/donate 02:04:12.131 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:12.134 [debug] QUERY OK source="settings" db=1.8ms queue=0.2ms idle=151.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:12.136 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:12.136 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:12.129 [error] #PID<0.2645.0> running PinchflatWeb.Endpoint (connection #PID<0.2636.0>, stream id 4) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /https%3A/github.com/kieraneglin/pinchflat/issues/234 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat/issues/234 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2636.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 41658}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4", "host" => "pinchflat.trylik.pl", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "104.252.191.210", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4" }, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2645.0>, params: %{}, path_info: ["https%3A", "github.com", "kieraneglin", "pinchflat", "issues", "234"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4"}, {"host", "pinchflat.trylik.pl"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "104.252.191.210"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-hWubuzfoP_oAAHYC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2636.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 41658}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4", "host" => "pinchflat.trylik.pl", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "104.252.191.210", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat/issues/234 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2636.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 41658}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en; (truncated) 02:04:12.133 [error] #PID<0.2646.0> running PinchflatWeb.Endpoint (connection #PID<0.2638.0>, stream id 5) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /favicon.ico%3Fcachebust%3D2024-03-20 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /favicon (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2638.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/favicon.ico%3Fcachebust%3D2024-03-20", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 41672}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4", "host" => "pinchflat.trylik.pl", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "104.252.191.210", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4" }, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2646.0>, params: %{}, path_info: ["favicon"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4"}, {"host", "pinchflat.trylik.pl"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "104.252.191.210"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/favicon.ico%3Fcachebust%3D2024-03-20", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-hWuxPRy34sIAAC4B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2638.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/favicon.ico%3Fcachebust%3D2024-03-20", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 41672}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4", "host" => "pinchflat.trylik.pl", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "104.252.191.210", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /favicon (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2638.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/favicon.ico%3Fcachebust%3D2024-03-20", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 41672}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4", "host" => "pinchflat.trylik.pl", (truncated) 02:04:12.138 [error] #PID<0.2649.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 1) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /https%3A/supporters.eff.org/donate ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/supporters.eff.org/donate (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/supporters.eff.org/donate", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4", "host" => "pinchflat.trylik.pl", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "104.252.191.210", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4" }, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2649.0>, params: %{}, path_info: ["https%3A", "supporters.eff.org", "donate"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4"}, {"host", "pinchflat.trylik.pl"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "104.252.191.210"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/https%3A/supporters.eff.org/donate", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-hWvrzpGcIfIAAC8B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/supporters.eff.org/donate", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJKcpT710aoV4", "host" => "pinchflat.trylik.pl", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "104.252.191.210", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/supporters.eff.org/donate (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/https%3A/supporters.eff.org/donate", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdEpncGNRZjJrU2VXWkhKdjhTMnhkSk0y.CVA1Y_Ne2hqHcve1yNQyRCR3sqO5t5RJ (truncated) 02:04:14.388 [info] GET / 02:04:14.389 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:04:14.390 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=785.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:14.391 [debug] QUERY OK source="settings" db=0.3ms idle=749.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:14.392 [debug] QUERY OK source="media_profiles" db=0.3ms idle=750.3ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:04:14.393 [debug] QUERY OK source="sources" db=0.3ms idle=750.9ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:04:14.394 [debug] QUERY OK source="settings" db=0.6ms idle=751.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:14.394 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 02:04:14.397 [info] Sent 200 in 8ms 02:04:15.377 [info] GET /console/ 02:04:15.378 [debug] QUERY OK source="settings" db=0.6ms idle=985.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:15.379 [debug] QUERY OK source="settings" db=0.5ms idle=985.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:15.379 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:15.380 [error] #PID<0.2652.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 3) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /console/ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /console (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2652.0>, params: %{}, path_info: ["console"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/console/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-hi1bLqULRi0AADEB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /console (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2652.0>, params: %{}, path_info: ["console"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/console/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-hi1bLqULRi0AADEB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Pinch (truncated) 02:04:16.278 [info] GET /server 02:04:16.280 [debug] QUERY OK source="settings" db=0.4ms idle=901.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:16.281 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=901.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:16.281 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:16.282 [error] #PID<0.2653.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 4) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /server ** (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.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2653.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://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/server", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-hmMSlBvJZRwAADIB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2653.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://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/server", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-hmMSlBvJZRwAADIB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint (truncated) 02:04:17.325 [info] GET /server-status 02:04:17.326 [debug] QUERY OK source="settings" db=0.4ms idle=1684.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:17.327 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1685.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:17.327 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:17.328 [error] #PID<0.2654.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 5) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /server-status ** (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-status (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2654.0>, params: %{}, path_info: ["server-status"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/server-status", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-hqF1GB271wMAADMB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server-status (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2654.0>, params: %{}, path_info: ["server-status"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/server-status", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-hqF1GB271wMAADMB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib (truncated) 02:04:18.279 [info] GET /about 02:04:18.281 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=953.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:18.281 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=953.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:18.282 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:18.283 [error] #PID<0.2655.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 6) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /about ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /about (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2655.0>, params: %{}, path_info: ["about"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/about", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-htpPe_ZuihMAADQB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /about (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2655.0>, params: %{}, path_info: ["about"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/about", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-htpPe_ZuihMAADQB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2 (truncated) 02:04:19.279 [info] GET /login.action 02:04:19.281 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1638.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:19.281 [debug] QUERY OK source="settings" db=0.5ms idle=1639.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:19.282 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:19.282 [error] #PID<0.2657.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 7) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /login.action ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2657.0>, params: %{}, path_info: ["login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/login.action", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-hxX0QlP0r2MAADUB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2657.0>, params: %{}, path_info: ["login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/login.action", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-hxX0QlP0r2MAADUB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]} (truncated) 02:04:20.287 [info] GET /v2/_catalog 02:04:20.288 [info] Sent 404 in 599µs 02:04:20.288 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:20.345 [info] {"source":"oban","duration":2198,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:21.282 [info] GET /.DS_Store 02:04:21.283 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1641.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:21.283 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1641.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:21.284 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:21.285 [error] #PID<0.2659.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 9) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /.DS_Store ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2659.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/.DS_Store", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-h41LAujejQsAADcB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2659.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/.DS_Store", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-h41LAujejQsAADcB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :cal (truncated) 02:04:22.282 [info] GET /.env 02:04:22.284 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1641.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:22.285 [debug] QUERY OK source="settings" db=0.3ms idle=1001.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:22.285 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:22.286 [error] #PID<0.2660.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 10) terminated Server: pinchflat.trylik.pl: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.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2660.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-h8jzlDch8KoAADgB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2660.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-h8jzlDch8KoAADgB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"l (truncated) 02:04:24.283 [info] GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application 02:04:24.284 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1642.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:24.285 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=657.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:24.286 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:24.286 [error] #PID<0.2661.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 11) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2661.0>, params: %{}, path_info: ["ecp", "Current", "exporttool", "microsoft.exchange.ediscovery.exporttool"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-iEArdW0lXtkAADkB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2661.0>, params: %{}, path_info: ["ecp", "Current", "exporttool", "microsoft.exchange.ediscovery.exporttool"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", res (truncated) 02:04:26.332 [info] GET /.git/config 02:04:26.334 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=700.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:26.335 [debug] QUERY OK source="settings" db=0.6ms idle=693.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:26.335 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:26.336 [error] #PID<0.2664.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 12) terminated Server: pinchflat.trylik.pl: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.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2664.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-iLpVszbd1JsAADsB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2664.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-iLpVszbd1JsAADsB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat (truncated) 02:04:27.283 [info] POST /graphql 02:04:27.284 [info] Sent 404 in 576µs 02:04:27.284 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:27.646 [info] POST /api 02:04:27.647 [info] Sent 404 in 607µs 02:04:27.647 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:28.047 [info] POST /api/graphql 02:04:28.047 [info] Sent 404 in 504µs 02:04:28.047 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:28.409 [info] POST /graphql/api 02:04:28.410 [info] Sent 404 in 450µs 02:04:28.410 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:28.775 [info] POST /api/gql 02:04:28.775 [info] Sent 404 in 449µs 02:04:28.775 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:29.137 [info] GET /s/2393e24363e22313e23383/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties 02:04:29.138 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1496.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:29.139 [debug] QUERY OK source="settings" db=0.5ms idle=1497.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:29.140 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:29.140 [error] #PID<0.2670.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 18) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /s/2393e24363e22313e23383/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /s/2393e24363e22313e23383/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/2393e24363e22313e23383/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2670.0>, params: %{}, path_info: ["s", "2393e24363e22313e23383", "_", ";", "META-INF", "maven", "com.atlassian.jira", "jira-webapp-dist", "pom"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/s/2393e24363e22313e23383/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-iWGCaEyNJ_YAAEEB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/2393e24363e22313e23383/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /s/2393e24363e22313e23383/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/2393e24363e22313e23383/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2670.0>, params: %{}, path_info: ["s", "2393e24363e22313e23383", "_", ";", "META-INF", "maven", "com.atlassian.jira", "jira-webapp-dist", "pom"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded (truncated) 02:04:30.171 [info] GET /config.json 02:04:30.173 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1033.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:30.175 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1034.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:30.175 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:30.176 [error] #PID<0.2671.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 19) terminated Server: pinchflat.trylik.pl: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.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2671.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-iZ8s5fiJ_iQAAEIB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2671.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-iZ8s5fiJ_iQAAEIB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1 (truncated) 02:04:31.141 [info] GET /telescope/requests 02:04:31.142 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1496.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:31.143 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=969.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:31.144 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:31.144 [error] #PID<0.2672.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 20) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /telescope/requests ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /telescope/requests (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2672.0>, params: %{}, path_info: ["telescope", "requests"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/telescope/requests", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-idjwMKz6tKUAAEMB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /telescope/requests (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2672.0>, params: %{}, path_info: ["telescope", "requests"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/telescope/requests", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-idjwMKz6tKUAAEMB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {Pinchfla (truncated) 02:04:32.140 [info] GET /info.php 02:04:32.142 [debug] QUERY OK source="settings" db=0.5ms idle=1494.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:32.143 [debug] QUERY OK source="settings" db=0.6ms idle=999.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:32.143 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:32.144 [error] #PID<0.2673.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 21) terminated Server: pinchflat.trylik.pl: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.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2673.0>, params: %{}, path_info: ["info"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-ihSJqF8UocoAAEQB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2673.0>, params: %{}, path_info: ["info"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-ihSJqF8UocoAAEQB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb. (truncated) 02:04:33.188 [info] GET /.well-known/security.txt 02:04:33.189 [debug] QUERY OK source="settings" db=0.4ms idle=1539.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:33.189 [debug] QUERY OK source="settings" db=0.3ms idle=1047.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:33.190 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:33.190 [error] #PID<0.2674.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 22) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /.well-known/security.txt ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2674.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-ilLxvrnfavIAAEUB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2674.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-ilLxvrnfavIAAEUB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoeni (truncated) 02:04:34.145 [info] GET /actuator/env 02:04:34.146 [debug] QUERY OK source="settings" db=0.3ms idle=1495.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:34.147 [debug] QUERY OK source="settings" db=0.2ms idle=958.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:34.147 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:34.148 [error] #PID<0.2675.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 23) terminated Server: pinchflat.trylik.pl: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.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2675.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-iowIHpzsszUAAEYB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 23, 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.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2675.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-iowIHpzsszUAAEYB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib (truncated) 02:04:36.147 [info] GET /swagger-ui.html 02:04:36.148 [debug] QUERY OK source="settings" db=0.3ms idle=1491.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:36.148 [debug] QUERY OK source="settings" db=0.3ms idle=506.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:36.149 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:36.150 [error] #PID<0.2676.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 24) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /swagger-ui.html ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /swagger-ui (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger-ui.html", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2676.0>, params: %{}, path_info: ["swagger-ui"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/swagger-ui.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-iwNUL-ae0uMAAEcB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger-ui.html", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /swagger-ui (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger-ui.html", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2676.0>, params: %{}, path_info: ["swagger-ui"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/swagger-ui.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-iwNUL-ae0uMAAEcB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil (truncated) 02:04:37.147 [info] GET /swagger/index.html 02:04:37.148 [debug] QUERY OK source="settings" db=0.5ms idle=1506.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:37.150 [debug] QUERY OK source="settings" db=0.8ms idle=1491.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:37.150 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:37.151 [error] #PID<0.2677.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 25) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /swagger/index.html ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /swagger/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/index.html", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2677.0>, params: %{}, path_info: ["swagger", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/swagger/index.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-iz7y8MYAvD0AAEgB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/index.html", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /swagger/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/index.html", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2677.0>, params: %{}, path_info: ["swagger", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/swagger/index.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-iz7y8MYAvD0AAEgB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: : (truncated) 02:04:38.144 [info] GET /swagger/swagger-ui.html 02:04:38.146 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=996.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:38.147 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=996.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:38.147 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:38.148 [error] #PID<0.2678.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 26) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /swagger/swagger-ui.html ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /swagger/swagger-ui (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/swagger-ui.html", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2678.0>, params: %{}, path_info: ["swagger", "swagger-ui"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/swagger/swagger-ui.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-i3pecbgIB8AAAEkB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/swagger-ui.html", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /swagger/swagger-ui (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/swagger-ui.html", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2678.0>, params: %{}, path_info: ["swagger", "swagger-ui"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/swagger/swagger-ui.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-i3pecbgIB8AAAEkB"} ], scheme: :http, script_name: [], (truncated) 02:04:39.143 [info] GET /webjars/swagger-ui/index.html 02:04:39.144 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1502.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:39.145 [debug] QUERY OK source="settings" db=0.5ms idle=1482.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:39.146 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:39.146 [error] #PID<0.2679.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 27) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /webjars/swagger-ui/index.html ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /webjars/swagger-ui/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/webjars/swagger-ui/index.html", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2679.0>, params: %{}, path_info: ["webjars", "swagger-ui", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/webjars/swagger-ui/index.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-i7Xrg9OfBHcAAEoB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/webjars/swagger-ui/index.html", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /webjars/swagger-ui/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/webjars/swagger-ui/index.html", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2679.0>, params: %{}, path_info: ["webjars", "swagger-ui", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/webjars/swagger-ui/index.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-i7Xrg9OfBHcAAEoB"} (truncated) 02:04:40.142 [info] GET /swagger.json 02:04:40.143 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=998.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:40.144 [debug] QUERY OK source="settings" db=0.6ms idle=998.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:40.145 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:40.146 [error] #PID<0.2680.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 28) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /swagger.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2680.0>, params: %{}, path_info: ["swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-i_F1w7Dm3toAAEsB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2680.0>, params: %{}, path_info: ["swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-i_F1w7Dm3toAAEsB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatW (truncated) 02:04:41.194 [info] GET /swagger/v1/swagger.json 02:04:41.196 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1553.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:41.198 [debug] QUERY OK source="settings" db=1.7ms idle=1529.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:41.198 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:41.199 [error] #PID<0.2681.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 29) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /swagger/v1/swagger.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /swagger/v1/swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/v1/swagger.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2681.0>, params: %{}, path_info: ["swagger", "v1", "swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/swagger/v1/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jDAsh7qGV3EAAEwB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/v1/swagger.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /swagger/v1/swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/v1/swagger.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2681.0>, params: %{}, path_info: ["swagger", "v1", "swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/swagger/v1/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jDAsh7qGV3EAAEwB"} ], scheme: :http, script_name: (truncated) 02:04:42.145 [info] GET /v2/api-docs 02:04:42.146 [debug] QUERY OK source="settings" db=0.3ms idle=949.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:42.147 [debug] QUERY OK source="settings" db=0.2ms idle=948.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:42.147 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:42.148 [error] #PID<0.2682.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 30) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /v2/api-docs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /v2/api-docs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v2/api-docs", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 30, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2682.0>, params: %{}, path_info: ["v2", "api-docs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/v2/api-docs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jGjZuUY7ceUAAE0B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v2/api-docs", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 30, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /v2/api-docs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v2/api-docs", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 30, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2682.0>, params: %{}, path_info: ["v2", "api-docs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/v2/api-docs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jGjZuUY7ceUAAE0B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, ro (truncated) 02:04:43.146 [info] GET /v3/api-docs 02:04:43.147 [debug] QUERY OK source="settings" db=0.3ms idle=1505.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:43.148 [debug] QUERY OK source="settings" db=0.2ms idle=1476.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:43.148 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:43.149 [error] #PID<0.2683.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 31) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /v3/api-docs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /v3/api-docs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v3/api-docs", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 31, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2683.0>, params: %{}, path_info: ["v3", "api-docs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/v3/api-docs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jKSDj1BBdYkAAE4B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v3/api-docs", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 31, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /v3/api-docs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v3/api-docs", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 31, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2683.0>, params: %{}, path_info: ["v3", "api-docs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/v3/api-docs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jKSDj1BBdYkAAE4B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, ro (truncated) 02:04:44.144 [info] GET /api-docs/swagger.json 02:04:44.145 [debug] QUERY OK source="settings" db=0.4ms idle=997.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:44.146 [debug] QUERY OK source="settings" db=0.3ms idle=997.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:44.146 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:44.147 [error] #PID<0.2684.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 32) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /api-docs/swagger.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api-docs/swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api-docs/swagger.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 32, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2684.0>, params: %{}, path_info: ["api-docs", "swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/api-docs/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jN_6QZZYa3YAAE8B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api-docs/swagger.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 32, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api-docs/swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api-docs/swagger.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 32, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2684.0>, params: %{}, path_info: ["api-docs", "swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/api-docs/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jN_6QZZYa3YAAE8B"} ], scheme: :http, script_name: [], secret_key_ (truncated) 02:04:45.146 [info] GET /api/swagger.json 02:04:45.147 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1504.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:45.148 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1472.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:45.148 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:45.149 [error] #PID<0.2685.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 33) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /api/swagger.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/swagger.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 33, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2685.0>, params: %{}, path_info: ["api", "swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/api/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jRuvwgyUD30AAFAB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/swagger.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 33, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/swagger (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/swagger.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 33, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2685.0>, params: %{}, path_info: ["api", "swagger"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/api/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jRuvwgyUD30AAFAB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, sta (truncated) 02:04:46.189 [info] GET /trace.axd 02:04:46.190 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1042.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:46.191 [debug] QUERY OK source="settings" db=0.5ms idle=1042.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:46.191 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:46.192 [error] #PID<0.2686.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 34) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /trace.axd ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /trace (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 34, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2686.0>, params: %{}, path_info: ["trace"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/trace.axd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jVnfEEbx81AAAFEB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 34, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /trace (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 34, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2686.0>, params: %{}, path_info: ["trace"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/trace.axd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jVnfEEbx81AAAFEB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Pin (truncated) 02:04:47.147 [info] GET /@vite/env 02:04:47.149 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1506.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:47.150 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1468.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:47.150 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:47.151 [error] #PID<0.2687.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 35) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /@vite/env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /@vite/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 35, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2687.0>, params: %{}, path_info: ["@vite", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/@vite/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jZMELyKwR2YAAFIB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 35, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /@vite/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 35, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2687.0>, params: %{}, path_info: ["@vite", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/@vite/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jZMELyKwR2YAAFIB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", l (truncated) 02:04:48.151 [info] GET /.vscode/sftp.json 02:04:48.152 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1003.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:48.153 [debug] QUERY OK source="settings" db=0.3ms idle=1003.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:48.153 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:48.154 [error] #PID<0.2688.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 36) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /.vscode/sftp.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.vscode/sftp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 36, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2688.0>, params: %{}, path_info: [".vscode", "sftp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/.vscode/sftp.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jc7X35WIQEQAAFMB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 36, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.vscode/sftp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 36, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2688.0>, params: %{}, path_info: [".vscode", "sftp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/.vscode/sftp.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jc7X35WIQEQAAFMB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_c (truncated) 02:04:49.150 [info] OPTIONS / 02:04:49.151 [debug] QUERY OK source="settings" db=0.4ms idle=1509.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:49.152 [debug] QUERY OK source="settings" db=0.3ms idle=1466.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:49.152 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:49.153 [error] #PID<0.2689.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 37) terminated Server: pinchflat.trylik.pl:80 (http) Request: OPTIONS / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for OPTIONS / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 37, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "OPTIONS", owner: #PID<0.2689.0>, params: %{}, path_info: [], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jgpf-ZbaBkEAAFQB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 37, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for OPTIONS / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 37, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "OPTIONS", owner: #PID<0.2689.0>, params: %{}, path_info: [], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-jgpf-ZbaBkEAAFQB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: (truncated) 02:04:50.151 [info] GET / 02:04:50.151 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"rest_route" => "/wp/v2/users/"} Pipelines: [:browser] 02:04:50.152 [debug] QUERY OK source="settings" db=0.3ms idle=1000.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:50.153 [debug] QUERY OK source="settings" db=0.2ms idle=1000.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:50.153 [debug] QUERY OK source="media_profiles" db=0.2ms idle=511.8ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:04:50.154 [debug] QUERY OK source="sources" db=0.2ms idle=512.3ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:04:50.155 [debug] QUERY OK source="settings" db=0.3ms idle=466.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:50.155 [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 [] 02:04:50.158 [info] Sent 200 in 6ms 02:04:50.348 [info] {"source":"oban","duration":1423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:51.151 [info] GET /debug/default/view 02:04:51.152 [debug] QUERY OK source="settings" db=0.3ms idle=997.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:51.153 [debug] QUERY OK source="settings" db=0.3ms idle=997.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:51.153 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:51.154 [error] #PID<0.2691.0> running PinchflatWeb.Endpoint (connection #PID<0.2647.0>, stream id 39) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /debug/default/view?panel=config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug/default/view (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", has_body: false, streamid: 39, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2691.0>, params: %{"panel" => "config"}, path_info: ["debug", "default", "view"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/debug/default/view", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-joGkNaBk7Z0AAFcB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", has_body: false, streamid: 39, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug/default/view (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38312}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "165.227.39.235", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", has_body: false, streamid: 39, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2691.0>, params: %{"panel" => "config"}, path_info: ["debug", "default", "view"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.2393e24363e22313e23383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "165.227.39.235"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/debug/default/view", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-joGkNaBk7Z0AAFcB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, (truncated) 02:05:00.339 [info] {"source":"oban","duration":524,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:05:05.772 [info] GET / 02:05:05.772 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:05:05.773 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1052.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:05:05.774 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=132.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:05:05.775 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=133.0ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:05:05.775 [debug] QUERY OK source="sources" db=0.2ms queue=0.2ms idle=133.4ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:05:05.776 [debug] QUERY OK source="settings" db=0.3ms idle=53.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:05.776 [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 [] 02:05:05.778 [info] Sent 200 in 6ms 02:05:20.350 [info] {"source":"oban","duration":1782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:50.353 [info] {"source":"oban","duration":1678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:00.341 [info] {"source":"oban","duration":619,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:06:20.355 [info] {"source":"oban","duration":1252,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:50.358 [info] {"source":"oban","duration":2270,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:00.343 [info] {"source":"oban","duration":455,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:07:10.589 [info] GET / 02:07:10.589 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:07:10.590 [debug] QUERY OK source="settings" db=0.3ms idle=948.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:10.591 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=949.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:10.593 [debug] QUERY OK source="media_profiles" db=0.7ms idle=950.5ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:07:10.594 [debug] QUERY OK source="sources" db=0.3ms queue=0.3ms idle=951.5ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:07:10.595 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=577.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:10.596 [debug] QUERY OK source="settings" db=0.3ms 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:07:10.599 [info] Sent 200 in 10ms 02:07:10.644 [info] GET / 02:07:10.644 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:07:10.645 [debug] QUERY OK source="settings" db=0.5ms 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:07:10.646 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=52.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:07:10.647 [debug] QUERY OK source="media_profiles" db=0.3ms idle=52.6ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:07:10.647 [debug] QUERY OK source="sources" db=0.5ms idle=51.5ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:07:10.648 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=51.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:07:10.649 [debug] QUERY OK source="settings" db=0.4ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:07:10.652 [info] Sent 200 in 7ms 02:07:17.001 [info] GET / 02:07:17.001 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:07:17.002 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=973.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:17.003 [debug] QUERY OK source="settings" db=0.3ms idle=361.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:17.004 [debug] QUERY OK source="media_profiles" db=0.1ms idle=362.1ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:07:17.004 [debug] QUERY OK source="sources" db=0.1ms idle=362.6ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:07:17.005 [debug] QUERY OK source="settings" db=0.2ms idle=363.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:17.006 [debug] QUERY OK source="settings" db=0.3ms queue=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:07:17.008 [info] Sent 200 in 6ms 02:07:20.283 [info] GET / 02:07:20.283 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:07:20.284 [debug] QUERY OK source="settings" db=0.6ms idle=1641.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:20.285 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1642.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:20.285 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1643.5ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:07:20.286 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1249.8ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:07:20.287 [debug] QUERY OK source="settings" db=0.6ms idle=248.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:20.288 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:07:20.290 [info] Sent 200 in 7ms 02:07:20.361 [info] {"source":"oban","duration":1440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:50.363 [info] {"source":"oban","duration":2214,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:57.704 [info] GET / 02:07:57.704 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:07:57.705 [debug] QUERY OK source="settings" db=0.3ms idle=586.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:57.706 [debug] QUERY OK source="settings" db=0.5ms idle=64.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:57.707 [debug] QUERY OK source="media_profiles" db=0.5ms idle=65.1ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:07:57.707 [debug] QUERY OK source="sources" db=0.1ms idle=65.9ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:07:57.708 [debug] QUERY OK source="settings" db=0.3ms idle=66.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:07:57.709 [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 [] 02:07:57.711 [info] Sent 200 in 7ms 02:08:00.344 [info] {"source":"oban","duration":553,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:08:16.669 [info] GET /api/v1/sources 02:08:16.670 [info] Sent 404 in 645µs 02:08:16.670 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:08:16.706 [info] GET /api/v1/settings 02:08:16.707 [info] Sent 404 in 466µs 02:08:16.707 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:08:20.365 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:20.560 [info] GET / 02:08:20.561 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:08:20.561 [debug] QUERY OK source="settings" db=0.3ms idle=919.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:20.562 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=920.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:20.563 [debug] QUERY OK source="media_profiles" db=0.1ms idle=921.1ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:08:20.563 [debug] QUERY OK source="sources" db=0.1ms idle=395.3ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:08:20.564 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=198.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:20.565 [debug] QUERY OK source="settings" db=0.2ms 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 [] 02:08:20.567 [info] Sent 200 in 7ms 02:08:20.593 [info] GET /sources 02:08:20.593 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:08:20.594 [info] Sent 406 in 630µs 02:08:20.594 [debug] Converted error Phoenix.NotAcceptableError to 406 response 02:08:25.012 [info] GET /sources 02:08:25.012 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:08:25.014 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1371.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:25.015 [debug] QUERY OK source="settings" db=0.3ms idle=1373.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:25.016 [debug] QUERY OK source="settings" db=0.4ms idle=1374.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:25.018 [debug] QUERY OK source="settings" db=0.4ms idle=1376.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:25.019 [debug] QUERY OK source="settings" db=0.4ms idle=842.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:25.023 [debug] QUERY OK source="sources" db=1.1ms queue=1.0ms idle=6.6ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:08:25.027 [debug] QUERY OK source="sources" db=1.8ms queue=0.9ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:08:25.029 [info] Sent 200 in 16ms 02:08:25.050 [info] GET / 02:08:25.050 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:08:25.051 [debug] QUERY OK source="settings" db=0.2ms idle=33.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:25.052 [debug] QUERY OK source="settings" db=0.5ms idle=32.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:25.052 [debug] QUERY OK source="media_profiles" db=0.1ms idle=32.6ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:08:25.052 [debug] QUERY OK source="sources" db=0.2ms idle=29.3ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:08:25.053 [debug] QUERY OK source="settings" db=0.5ms idle=25.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:25.054 [debug] QUERY OK source="settings" db=0.3ms 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 [] 02:08:25.056 [info] Sent 200 in 6ms 02:08:30.180 [info] GET /sources/new 02:08:30.180 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 02:08:30.181 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1539.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 02:08:30.182 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1540.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:30.184 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1541.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:30.185 [debug] QUERY OK source="settings" db=0.8ms idle=1543.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:30.187 [debug] QUERY OK source="settings" db=0.7ms idle=993.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:30.194 [info] Sent 200 in 13ms 02:08:30.216 [info] GET /sources/new 02:08:30.216 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 02:08:30.217 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=34.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 02:08:30.218 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=33.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:30.218 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=32.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:30.219 [debug] QUERY OK source="settings" db=0.2ms idle=31.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:30.220 [debug] QUERY OK source="settings" db=0.2ms idle=24.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:30.226 [info] Sent 200 in 10ms 02:08:35.218 [info] GET /media_profiles 02:08:35.218 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 02:08:35.220 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.4ms idle=1577.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 02:08:35.221 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1579.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:35.222 [debug] QUERY OK source="settings" db=0.3ms idle=1579.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:35.223 [debug] QUERY OK source="settings" db=0.2ms idle=1017.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:35.226 [info] Sent 200 in 8ms 02:08:35.247 [info] GET /sources/new 02:08:35.247 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 02:08:35.248 [debug] QUERY OK source="media_profiles" db=0.9ms 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" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 02:08:35.250 [debug] QUERY OK source="settings" db=0.9ms 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:08:35.251 [debug] QUERY OK source="settings" db=0.4ms queue=0.6ms idle=29.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:35.252 [debug] QUERY OK source="settings" db=0.8ms idle=30.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:35.255 [debug] QUERY OK source="settings" db=1.2ms idle=30.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:35.259 [info] Sent 200 in 12ms 02:08:41.593 [info] GET /sources/new 02:08:41.593 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 02:08:41.595 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=952.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 02:08:41.596 [debug] QUERY OK source="settings" db=0.6ms idle=953.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:41.597 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=954.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:41.598 [debug] QUERY OK source="settings" db=0.2ms queue=0.4ms idle=955.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:41.599 [debug] QUERY OK source="settings" db=0.5ms idle=375.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:41.605 [info] Sent 200 in 12ms 02:08:47.316 [info] GET /media_profiles/new 02:08:47.316 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 02:08:47.317 [debug] QUERY OK source="settings" db=0.2ms idle=675.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:47.318 [debug] QUERY OK source="settings" db=0.4ms idle=676.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:47.320 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=677.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:47.322 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=679.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:47.325 [info] Sent 200 in 8ms 02:08:47.350 [info] GET /settings 02:08:47.351 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 02:08:47.352 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=114.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:47.353 [debug] QUERY OK source="settings" db=0.5ms 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:08:47.354 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=34.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:47.355 [debug] QUERY OK source="settings" db=0.2ms idle=34.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:47.358 [info] Sent 200 in 7ms 02:08:50.367 [info] {"source":"oban","duration":1156,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:59.013 [info] GET /media_profiles/new 02:08:59.013 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 02:08:59.014 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=1372.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:59.015 [debug] QUERY OK source="settings" db=0.6ms idle=753.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:59.016 [debug] QUERY OK source="settings" db=0.3ms idle=374.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:59.017 [debug] QUERY OK source="settings" db=0.4ms idle=375.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:59.021 [info] Sent 200 in 8ms 02:08:59.049 [info] POST /media_profiles 02:08:59.049 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.create/2 Parameters: %{"_csrf_token" => "", "media_profile" => %{"live_behaviour" => "exclude", "max_resolution_preset" => "1080p", "name" => "Jellyfin 1080p", "preset" => "media_center", "shorts_behaviour" => "exclude"}} Pipelines: [:browser] 02:08:59.050 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=408.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:59.051 [debug] QUERY OK source="settings" db=0.7ms idle=36.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:59.052 [debug] Converted error Plug.CSRFProtection.InvalidCSRFTokenError to 403 response 02:08:59.052 [error] #PID<0.2777.0> running PinchflatWeb.Endpoint (connection #PID<0.2776.0>, stream id 1) terminated Server: 192.168.0.134:8945 (http) Request: POST /media_profiles ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Plug.CSRFProtection.InvalidCSRFTokenError{ message: "invalid CSRF (Cross Site Request Forgery) token, please make sure that:\n\n * The session cookie is being sent and session is loaded\n * The request include a valid '_csrf_token' param or 'x-csrf-token' header", plug_status: 403 }, status: 403, stack: [ {Plug.CSRFProtection, :call, 2, [ file: ~c"lib/plug/csrf_protection.ex", line: 316, error_info: %{module: Exception} ]}, {PinchflatWeb.Router, :browser, 2, []}, {PinchflatWeb.Router, :__pipe_through2__, 1, [file: ~c"lib/pinchflat_web/router.ex", line: 1]}, {Phoenix.Router, :__call__, 5, [file: ~c"lib/phoenix/router.ex", line: 475]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2776.0>, port: 8945, scheme: "http", version: :"HTTP/1.1", path: "/media_profiles", host: "192.168.0.134", peer: {{192, 168, 0, 37}, 63957}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "content-length" => "203", "content-type" => "application/x-www-form-urlencoded", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcTBBWWhuNV9FVHlKaVNXOTBCUmpQRVRI.qCQlmM2byBqkehIV7N1eWgz6WXIHyhAZ_HdesnUMLU4", "host" => "192.168.0.134:8945", "user-agent" => "curl/8.7.1" }, method: "POST", body_length: 203, path_info: :undefined, qs: "", has_body: true, streamid: 1, host_info: :undefined, has_read_body: true }}, assigns: %{ reason: %Plug.CSRFProtection.InvalidCSRFTokenError{ message: "invalid CSRF (Cross Site Request Forgery) token, please make sure that:\n\n * The session cookie is being sent and session is loaded\n * The request include a valid '_csrf_token' param or 'x-csrf-token' header", plug_status: 403 }, status: 403, stack: [ {Plug.CSRFProtection, :call, 2, [ file: ~c"lib/plug/csrf_protection.ex", line: 316, error_info: %{module: Exception} ]}, {PinchflatWeb.Router, :browser, 2, []}, {PinchflatWeb.Router, :__pipe_through2__, 1, [file: ~c"lib/pinchflat_web/router.ex", line: 1]}, {Phoenix.Router, :__call__, 5, [file: ~c"lib/phoenix/router.ex", line: 475]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]} ], kind: :error, layout: {PinchflatWeb.Layouts, "app"} }, body_params: %{ "_csrf_token" => "", "media_profile" => %{ "live_behaviour" => "exclude", "max_resolution_preset" => "1080p", "name" => "Jellyfin 1080p", "preset" => "media_center", "shorts_behaviour" => "exclude" } }, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcTBBWWhuNV9FVHlKaVNXOTBCUmpQRVRI.qCQlmM2byBqkehIV7N1eWgz6WXIHyhAZ_HdesnUMLU4" }, halted: false, host: "192.168.0.134", method: "POST", owner: #PID<0.2777.0>, params: %{ "_csrf_token" => "", "media_profile" => %{ "live_behaviour" => "exclude", "max_resolution_preset" => "1080p", "name" => "Jellyfin 1080p", "preset" => "media_center", "shorts_behaviour" => "exclude" } }, path_info: ["media_profiles"], path_params: %{}, port: 8945, private: %{ PinchflatWeb.Router => [], :phoenix_template => "403.html", :phoenix_view => %{_: PinchflatWeb.ErrorHTML}, :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_layout => %{_: {PinchflatWeb.Layouts, :app}}, :phoenix_format => "html", :phoenix_root_layout => %{_: {PinchflatWeb.Layouts, :root}}, :phoenix_router_url => "http://192.168.0.134:8945", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 37}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcTBBWWhuNV9FVHlKaVNXOTBCUmpQRVRI.qCQlmM2byBqkehIV7N1eWgz6WXIHyhAZ_HdesnUMLU4" }, req_headers: [ {"accept", "*/*"}, {"content-length", "203"}, {"content-type", "application/x-www-form-urlencoded"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcTBBWWhuNV9FVHlKaVNXOTBCUmpQRVRI.qCQlmM2byBqkehIV7N1eWgz6WXIHyhAZ_HdesnUMLU4"}, {"host", "192.168.0.134:8945"}, {"user-agent", "curl/8.7.1"} ], request_path: "/media_profiles", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL-yDl_yE946XwAAIYC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: 403 }, inner_content: "Forbidden" } (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 02:09:00.346 [info] {"source":"oban","duration":435,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:09:03.853 [info] GET /media_profiles/new 02:09:03.854 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 02:09:03.855 [debug] QUERY OK source="settings" db=0.4ms idle=1213.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:03.856 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1214.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:03.857 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=580.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:03.859 [debug] QUERY OK source="settings" db=0.3ms idle=216.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:09:03.862 [info] Sent 200 in 8ms 02:09:20.370 [info] {"source":"oban","duration":2145,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:27.701 [info] POST /media_profiles 02:09:27.701 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.create/2 Parameters: %{"_csrf_token" => "PkUCHlgtfjt9Pj4yLjpme100YAY3CCEyOuCG0CKd8jGxGi1Bmv2lgMuz", "media_profile" => %{"live_behaviour" => "exclude", "max_resolution_preset" => "1080p", "name" => "Jellyfin 1080p", "preset" => "media_center", "shorts_behaviour" => "exclude"}} Pipelines: [:browser] 02:09:27.704 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.1ms idle=365.5ms INSERT INTO "media_profiles" ("name","output_path_template","sponsorblock_categories","sponsorblock_behaviour","download_thumbnail","embed_thumbnail","download_auto_subs","download_subs","embed_subs","sub_langs","preferred_resolution","download_metadata","embed_metadata","download_nfo","download_source_images","livestream_behaviour","shorts_behaviour","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18,?19) RETURNING "id" ["Jellyfin 1080p", "/{{ source_custom_name }}/{{ upload_yyyy_mm_dd }} {{ title }}/{{ title }} [{{ id }}].{{ ext }}", [], :disabled, false, false, false, false, false, "en", :"1080p", false, false, false, false, :include, :exclude, ~U[2026-04-04 00:09:27Z], ~U[2026-04-04 00:09:27Z]] 02:09:27.705 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=63.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:09:27.705 [info] Sent 302 in 4ms 02:09:33.415 [info] GET /media_profiles 02:09:33.415 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 02:09:33.417 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=1774.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 02:09:33.418 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1776.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:33.419 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1777.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:33.420 [debug] QUERY OK source="settings" db=0.4ms idle=1073.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:33.423 [info] Sent 200 in 7ms 02:09:38.508 [info] GET /media_profiles 02:09:38.508 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 02:09:38.510 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=1867.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 02:09:38.511 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1869.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:38.513 [debug] QUERY OK source="settings" db=0.8ms idle=1870.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:38.514 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1156.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:38.517 [info] Sent 200 in 8ms 02:09:45.103 [info] GET /media_profiles/1/edit 02:09:45.104 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 02:09:45.106 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.8ms idle=1463.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 02:09:45.107 [debug] QUERY OK source="settings" db=0.3ms idle=1464.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:45.108 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1465.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:45.109 [debug] QUERY OK source="settings" db=0.3ms idle=1467.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:45.113 [info] Sent 200 in 9ms 02:09:50.372 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:00.348 [info] {"source":"oban","duration":390,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:10:20.375 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:50.376 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:00.349 [info] {"source":"oban","duration":469,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:11:20.379 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:50.381 [info] {"source":"oban","duration":1610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:00.349 [info] {"source":"oban","duration":441,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:12:20.384 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:50.385 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:00.351 [info] {"source":"oban","duration":444,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:13:10.774 [info] GET /shop 02:13:10.775 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1133.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:10.776 [debug] QUERY OK source="settings" db=0.2ms idle=1134.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:10.776 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:13:10.777 [error] #PID<0.2807.0> running PinchflatWeb.Endpoint (connection #PID<0.2806.0>, stream id 1) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /shop ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /shop (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/shop", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2807.0>, params: %{}, path_info: ["shop"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/shop", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_AtWCpulIZu4AAJUC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/shop", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /shop (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/shop", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2807.0>, params: %{}, path_info: ["shop"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/shop", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_AtWCpulIZu4AAJUC"} ], scheme: :http, script_name (truncated) 02:13:10.893 [info] GET /.env.production 02:13:10.894 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1252.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:10.895 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1093.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:10.895 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:13:10.896 [error] #PID<0.2808.0> running PinchflatWeb.Endpoint (connection #PID<0.2806.0>, stream id 2) terminated Server: pinchflat.trylik.pl: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.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2808.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/.env.production", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_AtyXhC9w2ekAAJYC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2808.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/.env.production", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_AtyXhC9w2ekAAJYC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541 (truncated) 02:13:11.660 [info] GET /pricing 02:13:11.661 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=884.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:11.662 [debug] QUERY OK source="settings" db=0.2ms idle=885.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:11.662 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:13:11.662 [error] #PID<0.2810.0> running PinchflatWeb.Endpoint (connection #PID<0.2806.0>, stream id 4) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /pricing ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /pricing (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pricing", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2810.0>, params: %{}, path_info: ["pricing"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/pricing", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_AwpKU2DuPtQAAJcC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pricing", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /pricing (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pricing", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2810.0>, params: %{}, path_info: ["pricing"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/pricing", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_AwpKU2DuPtQAAJcC"} ], scheme (truncated) 02:13:11.864 [info] GET /register 02:13:11.866 [debug] QUERY OK source="settings" db=0.4ms idle=971.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:11.866 [debug] QUERY OK source="settings" db=0.2ms idle=970.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:11.866 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:13:11.867 [error] #PID<0.2811.0> running PinchflatWeb.Endpoint (connection #PID<0.2806.0>, stream id 5) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /register ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /register (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/register", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2811.0>, params: %{}, path_info: ["register"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/register", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_AxZ_XaLWjyIAAJgC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/register", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /register (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/register", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2811.0>, params: %{}, path_info: ["register"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/register", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_AxZ_XaLWjyIAAJgC"} ], (truncated) 02:13:11.873 [info] GET /plans 02:13:11.873 [debug] QUERY OK source="settings" db=0.3ms idle=212.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:13:11.874 [debug] QUERY OK source="settings" db=0.2ms idle=212.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:11.874 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:13:11.875 [error] #PID<0.2812.0> running PinchflatWeb.Endpoint (connection #PID<0.2806.0>, stream id 6) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /plans ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /plans (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/plans", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2812.0>, params: %{}, path_info: ["plans"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/plans", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_Axb-bNPw3UsAAIEB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/plans", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /plans (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/plans", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2812.0>, params: %{}, path_info: ["plans"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/plans", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_Axb-bNPw3UsAAIEB"} ], scheme: :http, s (truncated) 02:13:11.896 [info] GET /account 02:13:11.897 [debug] QUERY OK source="settings" db=0.5ms idle=90.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:13:11.898 [debug] QUERY OK source="settings" db=0.5ms idle=31.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:13:11.898 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:13:11.899 [error] #PID<0.2813.0> running PinchflatWeb.Endpoint (connection #PID<0.2806.0>, stream id 7) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /account ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /account (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/account", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2813.0>, params: %{}, path_info: ["account"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/account", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_Axhgbr5aBigAAJkC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/account", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /account (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/account", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2813.0>, params: %{}, path_info: ["account"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/account", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_Axhgbr5aBigAAJkC"} ], scheme (truncated) 02:13:12.711 [info] GET /order 02:13:12.712 [debug] QUERY OK source="settings" db=0.3ms idle=845.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:12.712 [debug] QUERY OK source="settings" db=0.2ms idle=838.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:12.713 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:13:12.714 [error] #PID<0.2814.0> running PinchflatWeb.Endpoint (connection #PID<0.2806.0>, stream id 8) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /order ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /order (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/order", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2814.0>, params: %{}, path_info: ["order"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/order", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_A0jx5i2wFTsAAJoC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/order", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /order (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/order", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2814.0>, params: %{}, path_info: ["order"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/order", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_A0jx5i2wFTsAAJoC"} ], scheme: :http, s (truncated) 02:13:12.869 [info] GET /billing 02:13:12.870 [debug] QUERY OK source="settings" db=0.4ms idle=972.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:12.871 [debug] QUERY OK source="settings" db=0.6ms idle=972.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:12.871 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:13:12.872 [error] #PID<0.2815.0> running PinchflatWeb.Endpoint (connection #PID<0.2806.0>, stream id 9) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /billing ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /billing (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/billing", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2815.0>, params: %{}, path_info: ["billing"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/billing", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_A1JgTovIxIoAAJsC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/billing", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /billing (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/billing", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2815.0>, params: %{}, path_info: ["billing"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/billing", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_A1JgTovIxIoAAJsC"} ], scheme (truncated) 02:13:13.618 [info] GET / 02:13:13.619 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:13:13.619 [debug] QUERY OK source="settings" db=0.3ms idle=907.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:13.620 [debug] QUERY OK source="settings" db=0.3ms idle=907.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:13.620 [debug] QUERY OK source="media_profiles" db=0.2ms idle=812.7ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:13:13.621 [debug] QUERY OK source="sources" db=0.3ms idle=750.6ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:13:13.622 [debug] QUERY OK source="settings" db=0.5ms idle=750.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:13.623 [debug] QUERY OK source="settings" db=0.5ms 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 [] 02:13:13.625 [info] Sent 200 in 6ms 02:13:13.692 [info] GET /signup 02:13:13.693 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=72.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:13.694 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=72.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:13.694 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:13:13.695 [error] #PID<0.2817.0> running PinchflatWeb.Endpoint (connection #PID<0.2806.0>, stream id 11) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /signup ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /signup (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/signup", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2817.0>, params: %{}, path_info: ["signup"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/signup", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_A4NvBnNDgrcAAJ0C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/signup", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /signup (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/signup", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2817.0>, params: %{}, path_info: ["signup"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/signup", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_A4NvBnNDgrcAAJ0C"} ], scheme: :htt (truncated) 02:13:13.742 [info] GET /payment 02:13:13.743 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=121.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:13.743 [debug] QUERY OK source="settings" db=0.2ms idle=121.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:13.744 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:13:13.744 [error] #PID<0.2818.0> running PinchflatWeb.Endpoint (connection #PID<0.2806.0>, stream id 12) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /payment ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /payment (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/payment", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2818.0>, params: %{}, path_info: ["payment"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/payment", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_A4ZouNG2IjYAAJ4C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/payment", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /payment (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/payment", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2818.0>, params: %{}, path_info: ["payment"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/payment", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_A4ZouNG2IjYAAJ4C"} ], sc (truncated) 02:13:14.825 [info] GET /cart 02:13:14.826 [debug] QUERY OK source="settings" db=0.4ms idle=1131.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:13:14.827 [debug] QUERY OK source="settings" db=0.7ms idle=1083.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:14.827 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:13:14.828 [error] #PID<0.2819.0> running PinchflatWeb.Endpoint (connection #PID<0.2806.0>, stream id 13) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /cart ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /cart (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cart", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2819.0>, params: %{}, path_info: ["cart"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/cart", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_A8bziH8DcR4AAJ8C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cart", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /cart (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2806.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cart", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34972}, 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", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "via" => "1.1 Caddy", "x-forwarded-for" => "185.177.72.50", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2819.0>, params: %{}, path_info: ["cart"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "185.177.72.50"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/cart", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_A8bziH8DcR4AAJ8C"} ], scheme: :http, script_ (truncated) 02:13:20.388 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:24.903 [info] GET /.git/config 02:13:24.904 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1262.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:24.905 [debug] QUERY OK source="settings" db=0.3ms idle=1263.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:13:24.905 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:13:24.906 [error] #PID<0.2821.0> running PinchflatWeb.Endpoint (connection #PID<0.2820.0>, stream id 1) terminated Server: pinchflat.trylik.pl: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.2820.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 39996}, 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,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.trylik.pl", "referer" => "https://duckduckgo.com/", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Google Chrome\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?1", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 13; OnePlus 11) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "192.99.71.37", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.2821.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "pinchflat.trylik.pl"}, {"referer", "https://duckduckgo.com/"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Google Chrome\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?1"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Linux; Android 13; OnePlus 11) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "192.99.71.37"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_Bh-leNzPAGIAAKAC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2820.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 39996}, 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,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.trylik.pl", "referer" => "https://duckduckgo.com/", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Google Chrome\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?1", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 13; OnePlus 11) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "192.99.71.37", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2820.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 39996}, 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,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.trylik.pl", "referer" => "https://duckduckgo.com/", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Google Chrome\";v=\"131\", \"Not_A Brand\";v=\"24\"", (truncated) 02:13:50.389 [info] {"source":"oban","duration":1358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:00.352 [info] {"source":"oban","duration":480,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:14:20.391 [info] {"source":"oban","duration":1159,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:42.008 [info] GET / 02:14:42.009 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:14:42.010 [debug] QUERY OK source="settings" db=0.3ms idle=367.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:42.010 [debug] QUERY OK source="settings" db=0.2ms idle=368.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:42.011 [debug] QUERY OK source="media_profiles" db=0.3ms idle=369.2ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:14:42.012 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=369.9ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:14:42.012 [debug] QUERY OK source="settings" db=0.3ms idle=13.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:14:42.013 [debug] QUERY OK source="settings" db=0.6ms 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 [] 02:14:42.015 [info] Sent 200 in 6ms 02:14:42.901 [info] GET / 02:14:42.901 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:14:42.902 [debug] QUERY OK source="settings" db=0.4ms idle=891.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:14:42.903 [debug] QUERY OK source="settings" db=0.4ms idle=891.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:42.904 [debug] QUERY OK source="media_profiles" db=0.4ms idle=891.9ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:14:42.904 [debug] QUERY OK source="sources" db=0.2ms idle=891.9ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:14:42.905 [debug] QUERY OK source="settings" db=0.3ms idle=891.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:42.907 [debug] QUERY OK source="settings" db=0.9ms queue=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 [] 02:14:42.909 [info] Sent 200 in 7ms 02:14:43.356 [info] GET / 02:14:43.356 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:14:43.357 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=452.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:43.358 [debug] QUERY OK source="settings" db=0.3ms idle=453.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:43.359 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.2ms idle=453.0ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:14:43.359 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=452.2ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:14:43.360 [debug] QUERY OK source="settings" db=0.3ms idle=359.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:43.361 [debug] QUERY OK source="settings" db=0.3ms 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 [] 02:14:43.363 [info] Sent 200 in 7ms 02:14:43.563 [info] GET / 02:14:43.563 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:14:43.564 [debug] QUERY OK source="settings" db=0.3ms idle=205.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:43.565 [debug] QUERY OK source="settings" db=0.2ms idle=205.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:43.565 [debug] QUERY OK source="media_profiles" db=0.1ms idle=205.5ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:14:43.566 [debug] QUERY OK source="sources" db=0.3ms idle=205.1ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:14:43.567 [debug] QUERY OK source="settings" db=0.4ms idle=205.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:43.567 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:14:43.569 [info] Sent 200 in 6ms 02:14:43.747 [info] GET / 02:14:43.748 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:14:43.749 [debug] QUERY OK source="settings" db=0.8ms idle=183.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:43.750 [debug] QUERY OK source="settings" db=0.2ms idle=184.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:43.750 [debug] QUERY OK source="media_profiles" db=0.1ms idle=184.1ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:14:43.751 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=183.6ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:14:43.752 [debug] QUERY OK source="settings" db=0.3ms idle=183.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:43.752 [debug] QUERY OK source="settings" db=0.2ms queue=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:14:43.754 [info] Sent 200 in 6ms 02:14:43.978 [info] GET / 02:14:43.978 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:14:43.979 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=228.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:43.980 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 02:14:43.980 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=229.0ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:14:43.981 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=228.7ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:14:43.981 [debug] QUERY OK source="settings" db=0.3ms idle=228.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:43.982 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:14:43.984 [info] Sent 200 in 6ms 02:14:50.393 [info] {"source":"oban","duration":1381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:51.118 [info] GET /sources/new 02:14:51.118 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 02:14:51.120 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=1477.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 02:14:51.121 [debug] QUERY OK source="settings" db=0.4ms queue=0.5ms idle=1478.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:51.122 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1103.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:51.123 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=728.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:51.124 [debug] QUERY OK source="settings" db=0.2ms idle=104.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:51.128 [info] Sent 200 in 10ms 02:14:57.782 [info] POST /sources 02:14:57.782 [debug] Processing with PinchflatWeb.Sources.SourceController.create/2 Parameters: %{"_csrf_token" => "QEZzbRBYVzoIEkEtDhgDXwQKGCgHEmN61v24x6beMF8ggKTf4HJBWW72", "source" => %{"custom_name" => "Programy naukowe", "download_media" => "enabled", "index_frequency_minutes" => "-1", "media_profile_id" => "1", "original_url" => "https://www.youtube.com/watch?v=JRIk3EslWJM"}} Pipelines: [:browser] 02:14:57.784 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1141.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:57.784 [debug] QUERY OK source="settings" db=0.3ms idle=1142.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:57.785 [debug] Converted error Plug.CSRFProtection.InvalidCSRFTokenError to 403 response 02:14:57.785 [error] #PID<0.2847.0> running PinchflatWeb.Endpoint (connection #PID<0.2846.0>, stream id 1) terminated Server: 192.168.0.134:8945 (http) Request: POST /sources ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Plug.CSRFProtection.InvalidCSRFTokenError{ message: "invalid CSRF (Cross Site Request Forgery) token, please make sure that:\n\n * The session cookie is being sent and session is loaded\n * The request include a valid '_csrf_token' param or 'x-csrf-token' header", plug_status: 403 }, status: 403, stack: [ {Plug.CSRFProtection, :call, 2, [ file: ~c"lib/plug/csrf_protection.ex", line: 316, error_info: %{module: Exception} ]}, {PinchflatWeb.Router, :browser, 2, []}, {PinchflatWeb.Router, :__pipe_through2__, 1, [file: ~c"lib/pinchflat_web/router.ex", line: 1]}, {Phoenix.Router, :__call__, 5, [file: ~c"lib/phoenix/router.ex", line: 475]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2846.0>, port: 8945, scheme: "http", version: :"HTTP/1.1", path: "/sources", host: "192.168.0.134", peer: {{192, 168, 0, 37}, 50182}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "content-length" => "275", "content-type" => "application/x-www-form-urlencoded", "host" => "192.168.0.134:8945", "user-agent" => "curl/8.7.1" }, method: "POST", body_length: 275, path_info: :undefined, qs: "", has_body: true, streamid: 1, host_info: :undefined, has_read_body: true }}, assigns: %{ reason: %Plug.CSRFProtection.InvalidCSRFTokenError{ message: "invalid CSRF (Cross Site Request Forgery) token, please make sure that:\n\n * The session cookie is being sent and session is loaded\n * The request include a valid '_csrf_token' param or 'x-csrf-token' header", plug_status: 403 }, status: 403, stack: [ {Plug.CSRFProtection, :call, 2, [ file: ~c"lib/plug/csrf_protection.ex", line: 316, error_info: %{module: Exception} ]}, {PinchflatWeb.Router, :browser, 2, []}, {PinchflatWeb.Router, :__pipe_through2__, 1, [file: ~c"lib/pinchflat_web/router.ex", line: 1]}, {Phoenix.Router, :__call__, 5, [file: ~c"lib/phoenix/router.ex", line: 475]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]} ], kind: :error, layout: {PinchflatWeb.Layouts, "app"} }, body_params: %{ "_csrf_token" => "QEZzbRBYVzoIEkEtDhgDXwQKGCgHEmN61v24x6beMF8ggKTf4HJBWW72", "source" => %{ "custom_name" => "Programy naukowe", "download_media" => "enabled", "index_frequency_minutes" => "-1", "media_profile_id" => "1", "original_url" => "https://www.youtube.com/watch?v=JRIk3EslWJM" } }, cookies: %{}, halted: false, host: "192.168.0.134", method: "POST", owner: #PID<0.2847.0>, params: %{ "_csrf_token" => "QEZzbRBYVzoIEkEtDhgDXwQKGCgHEmN61v24x6beMF8ggKTf4HJBWW72", "source" => %{ "custom_name" => "Programy naukowe", "download_media" => "enabled", "index_frequency_minutes" => "-1", "media_profile_id" => "1", "original_url" => "https://www.youtube.com/watch?v=JRIk3EslWJM" } }, path_info: ["sources"], path_params: %{}, port: 8945, private: %{ PinchflatWeb.Router => [], :phoenix_template => "403.html", :phoenix_view => %{_: PinchflatWeb.ErrorHTML}, :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_layout => %{_: {PinchflatWeb.Layouts, :app}}, :phoenix_format => "html", :phoenix_root_layout => %{_: {PinchflatWeb.Layouts, :root}}, :phoenix_router_url => "http://192.168.0.134:8945", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 37}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"content-length", "275"}, {"content-type", "application/x-www-form-urlencoded"}, {"host", "192.168.0.134:8945"}, {"user-agent", "curl/8.7.1"} ], request_path: "/sources", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_G7-mKLUHLMQAALIC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: 403 }, inner_content: "Forbidden" } (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 02:15:00.353 [info] {"source":"oban","duration":430,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:15:06.524 [info] GET /sources/new 02:15:06.525 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 02:15:06.526 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=1474.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 02:15:06.527 [debug] QUERY OK source="settings" db=0.5ms idle=884.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:06.528 [debug] QUERY OK source="settings" db=0.2ms idle=885.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:06.528 [debug] QUERY OK source="settings" db=0.3ms 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 [] 02:15:06.529 [debug] QUERY OK source="settings" db=0.4ms idle=475.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:06.534 [info] Sent 200 in 9ms 02:15:13.298 [info] POST /sources 02:15:13.298 [debug] Processing with PinchflatWeb.Sources.SourceController.create/2 Parameters: %{"_csrf_token" => "EQkXAwplAlA0YQg1a30KHFUgPABGC3dHUygD2WG8zT8r98gY6xjfurFs", "source" => %{"custom_name" => "Programy naukowe", "download_media" => "enabled", "index_frequency_minutes" => "-1", "media_profile_id" => "1", "original_url" => "https://www.youtube.com/watch?v=JRIk3EslWJM"}} Pipelines: [:browser] 02:15:13.300 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=1657.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 02:15:13.300 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=1658.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:13.302 [debug] QUERY OK source="settings" db=0.9ms idle=1659.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:13.302 [debug] QUERY OK source="settings" db=0.3ms idle=1232.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:13.304 [debug] QUERY OK source="settings" db=0.2ms idle=230.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:13.308 [info] Sent 200 in 10ms 02:15:20.396 [info] {"source":"oban","duration":1694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:26.493 [info] GET /sources 02:15:26.493 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:15:26.495 [debug] QUERY OK source="settings" db=0.3ms idle=1853.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:26.496 [debug] QUERY OK source="settings" db=0.3ms idle=1854.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:26.498 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1397.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:26.500 [debug] QUERY OK source="settings" db=0.3ms idle=858.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:26.501 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=398.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:26.503 [debug] QUERY OK source="sources" db=1.0ms idle=7.1ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:15:26.506 [debug] QUERY OK source="sources" db=1.8ms 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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:15:26.507 [info] Sent 200 in 14ms 02:15:26.567 [info] GET / 02:15:26.567 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:15:26.568 [debug] QUERY OK source="settings" db=0.7ms 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:15:26.569 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=68.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:26.570 [debug] QUERY OK source="media_profiles" db=0.3ms idle=68.8ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:15:26.571 [debug] QUERY OK source="sources" db=0.5ms idle=67.0ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:15:26.572 [debug] QUERY OK source="settings" db=0.3ms idle=65.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:26.572 [debug] QUERY OK source="settings" db=0.3ms 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:15:26.575 [info] Sent 200 in 7ms 02:15:50.398 [info] {"source":"oban","duration":1229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.355 [info] {"source":"oban","duration":387,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:16:20.400 [info] {"source":"oban","duration":1219,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:38.603 [info] GET / 02:16:38.603 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:16:38.604 [debug] QUERY OK source="settings" db=0.3ms idle=962.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:38.605 [debug] QUERY OK source="settings" db=0.5ms idle=963.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:38.606 [debug] QUERY OK source="media_profiles" db=0.3ms idle=964.2ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:16:38.606 [debug] QUERY OK source="sources" db=0.1ms idle=964.7ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:16:38.607 [debug] QUERY OK source="settings" db=0.3ms idle=357.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:38.608 [debug] QUERY OK source="settings" db=0.4ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:38.610 [info] Sent 200 in 6ms 02:16:38.630 [info] GET /api/sources 02:16:38.631 [debug] QUERY OK source="settings" db=0.2ms idle=25.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:38.632 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=25.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:38.632 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:16:38.633 [error] #PID<0.2866.0> running PinchflatWeb.Endpoint (connection #PID<0.2865.0>, stream id 1) terminated Server: 192.168.0.134:8945 (http) Request: GET /api/sources?api_key= ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/sources (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2865.0>, port: 8945, scheme: "http", version: :"HTTP/1.1", path: "/api/sources", host: "192.168.0.134", peer: {{192, 168, 0, 37}, 50947}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "192.168.0.134:8945", "user-agent" => "curl/8.7.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "api_key=", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "192.168.0.134", method: "GET", owner: #PID<0.2866.0>, params: %{"api_key" => ""}, path_info: ["api", "sources"], path_params: %{}, port: 8945, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "http://192.168.0.134:8945", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"api_key" => ""}, query_string: "api_key=", remote_ip: {192, 168, 0, 37}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "192.168.0.134:8945"}, {"user-agent", "curl/8.7.1"} ], request_path: "/api/sources", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_MzqyA-ZmIqkAAIgB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2865.0>, port: 8945, scheme: "http", version: :"HTTP/1.1", path: "/api/sources", host: "192.168.0.134", peer: {{192, 168, 0, 37}, 50947}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "192.168.0.134:8945", "user-agent" => "curl/8.7.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "api_key=", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/sources (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2865.0>, port: 8945, scheme: "http", version: :"HTTP/1.1", path: "/api/sources", host: "192.168.0.134", peer: {{192, 168, 0, 37}, 50947}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "192.168.0.134:8945", "user-agent" => "curl/8.7.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "api_key=", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "192.168.0.134", method: "GET", owner: #PID<0.2866.0>, params: %{"api_key" => ""}, path_info: ["api", "sources"], path_params: %{}, port: 8945, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "http://192.168.0.134:8945", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"api_key" => ""}, query_string: "api_key=", remote_ip: {192, 168, 0, 37}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "192.168.0.134:8945"}, {"user-agent", "curl/8.7.1"} ], request_path: "/api/sources", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_MzqyA-ZmIqkAAIgB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, layout: {PinchflatWeb.Layouts, "app"} }, body_params: %{}, cookies: %{}, halted: false, host: "192.168.0.134", method: "GET", owner: #PID<0.2866.0>, params: %{"api_key" => ""}, path_info: ["api", "sources"], path_params: %{}, port: 8945, private: %{ PinchflatWeb.Router => [], :phoenix_template => "404.html", :phoenix_view => %{_: PinchflatWeb.ErrorHTML}, :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, (truncated) 02:16:38.645 [info] POST /api/sources 02:16:38.646 [debug] QUERY OK source="settings" db=0.3ms idle=39.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:38.647 [debug] QUERY OK source="settings" db=0.5ms idle=39.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:38.647 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:16:38.647 [error] #PID<0.2868.0> running PinchflatWeb.Endpoint (connection #PID<0.2867.0>, stream id 1) terminated Server: 192.168.0.134:8945 (http) Request: POST /api/sources?api_key= ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST /api/sources (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2867.0>, port: 8945, scheme: "http", version: :"HTTP/1.1", path: "/api/sources", host: "192.168.0.134", peer: {{192, 168, 0, 37}, 50948}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "content-length" => "53", "content-type" => "application/json", "host" => "192.168.0.134:8945", "user-agent" => "curl/8.7.1" }, method: "POST", body_length: 53, path_info: :undefined, qs: "api_key=", has_body: true, streamid: 1, host_info: :undefined, has_read_body: true }}, assigns: %{}, body_params: %{"url" => "https://www.youtube.com/watch?v=JRIk3EslWJM"}, cookies: %{}, halted: false, host: "192.168.0.134", method: "POST", owner: #PID<0.2868.0>, params: %{ "api_key" => "", "url" => "https://www.youtube.com/watch?v=JRIk3EslWJM" }, path_info: ["api", "sources"], path_params: %{}, port: 8945, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "http://192.168.0.134:8945", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"api_key" => ""}, query_string: "api_key=", remote_ip: {192, 168, 0, 37}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"content-length", "53"}, {"content-type", "application/json"}, {"host", "192.168.0.134:8945"}, {"user-agent", "curl/8.7.1"} ], request_path: "/api/sources", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_MzuWjNRkfSAAAIkB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2867.0>, port: 8945, scheme: "http", version: :"HTTP/1.1", path: "/api/sources", host: "192.168.0.134", peer: {{192, 168, 0, 37}, 50948}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "content-length" => "53", "content-type" => "application/json", "host" => "192.168.0.134:8945", "user-agent" => "curl/8.7.1" }, method: "POST", body_length: 53, path_info: :undefined, qs: "api_key=", has_body: true, streamid: 1, host_info: :undefined, has_read_body: true }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST /api/sources (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2867.0>, port: 8945, scheme: "http", version: :"HTTP/1.1", path: "/api/sources", host: "192.168.0.134", peer: {{192, 168, 0, 37}, 50948}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "content-length" => "53", "content-type" => "application/json", "host" => "192.168.0.134:8945", "user-agent" => "curl/8.7.1" }, method: "POST", body_length: 53, path_info: :undefined, qs: "api_key=", has_body: true, streamid: 1, host_info: :undefined, has_read_body: true }}, assigns: %{}, body_params: %{"url" => "https://www.youtube.com/watch?v=JRIk3EslWJM"}, cookies: %{}, halted: false, host: "192.168.0.134", method: "POST", owner: #PID<0.2868.0>, params: %{ "api_key" => "", "url" => "https://www.youtube.com/watch?v=JRIk3EslWJM" }, path_info: ["api", "sources"], path_params: %{}, port: 8945, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "http://192.168.0.134:8945", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"api_key" => ""}, query_string: "api_key=", remote_ip: {192, 168, 0, 37}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"content-length", "53"}, {"content-type", "application/json"}, {"host", "192.168.0.134:8945"}, {"user-agent", "curl/8.7.1"} ], request_path: "/api/sources", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_MzuWjNRkfSAAAIkB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, (truncated) 02:16:44.507 [info] GET /settings 02:16:44.507 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 02:16:44.508 [debug] QUERY OK source="settings" db=0.5ms idle=1866.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:44.509 [debug] QUERY OK source="settings" db=0.5ms idle=1247.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:44.510 [debug] QUERY OK source="settings" db=0.2ms idle=868.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:44.511 [debug] QUERY OK source="settings" db=0.2ms idle=869.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:44.514 [info] Sent 200 in 7ms 02:16:44.536 [info] GET /sources 02:16:44.536 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:16:44.537 [debug] QUERY OK source="settings" db=0.4ms idle=272.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:44.538 [debug] QUERY OK source="settings" db=0.5ms 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 [] 02:16:44.539 [debug] QUERY OK source="settings" db=0.2ms 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 [] 02:16:44.541 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=30.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:44.542 [debug] QUERY OK source="settings" db=0.5ms idle=29.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:44.544 [debug] QUERY OK source="sources" db=1.0ms idle=4.9ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:16:44.546 [debug] QUERY OK source="sources" db=2.1ms queue=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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:16:44.548 [info] Sent 200 in 11ms 02:16:50.402 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:51.298 [info] GET /api/v1/sources 02:16:51.299 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1657.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:51.300 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1658.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:51.300 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:16:51.301 [error] #PID<0.2874.0> running PinchflatWeb.Endpoint (connection #PID<0.2873.0>, stream id 1) terminated Server: 192.168.0.134:8945 (http) Request: GET /api/v1/sources?api_key=e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf ** (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/v1/sources (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2873.0>, port: 8945, scheme: "http", version: :"HTTP/1.1", path: "/api/v1/sources", host: "192.168.0.134", peer: {{192, 168, 0, 37}, 50959}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "192.168.0.134:8945", "user-agent" => "curl/8.7.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "api_key=e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "192.168.0.134", method: "GET", owner: #PID<0.2874.0>, params: %{"api_key" => "e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf"}, path_info: ["api", "v1", "sources"], path_params: %{}, port: 8945, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "http://192.168.0.134:8945", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"api_key" => "e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf"}, query_string: "api_key=e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf", remote_ip: {192, 168, 0, 37}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "192.168.0.134:8945"}, {"user-agent", "curl/8.7.1"} ], request_path: "/api/v1/sources", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_Ni2_5shxIL0AAIsB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2873.0>, port: 8945, scheme: "http", version: :"HTTP/1.1", path: "/api/v1/sources", host: "192.168.0.134", peer: {{192, 168, 0, 37}, 50959}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "192.168.0.134:8945", "user-agent" => "curl/8.7.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "api_key=e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/v1/sources (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2873.0>, port: 8945, scheme: "http", version: :"HTTP/1.1", path: "/api/v1/sources", host: "192.168.0.134", peer: {{192, 168, 0, 37}, 50959}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "192.168.0.134:8945", "user-agent" => "curl/8.7.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "api_key=e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "192.168.0.134", method: "GET", owner: #PID<0.2874.0>, params: %{"api_key" => "e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf"}, path_info: ["api", "v1", "sources"], path_params: %{}, port: 8945, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "http://192.168.0.134:8945", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"api_key" => "e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf"}, query_string: "api_key=e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf", remote_ip: {192, 168, 0, 37}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "192.168.0.134:8945"}, {"user-agent", "curl/8.7.1"} ], request_path: "/api/v1/sources", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_Ni2_5shxIL0AAIsB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, layout: {PinchflatWeb.Layouts, "app"} }, body_params: %{}, cookies: %{}, halted: false, host (truncated) 02:16:51.316 [info] GET /api/sources 02:16:51.316 [debug] QUERY OK source="settings" db=0.2ms idle=1038.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:51.317 [debug] QUERY OK source="settings" db=0.6ms idle=913.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:51.317 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:16:51.318 [error] #PID<0.2876.0> running PinchflatWeb.Endpoint (connection #PID<0.2875.0>, stream id 1) terminated Server: 192.168.0.134:8945 (http) Request: GET /api/sources?api_key=e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf ** (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/sources (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2875.0>, port: 8945, scheme: "http", version: :"HTTP/1.1", path: "/api/sources", host: "192.168.0.134", peer: {{192, 168, 0, 37}, 50960}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "192.168.0.134:8945", "user-agent" => "curl/8.7.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "api_key=e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "192.168.0.134", method: "GET", owner: #PID<0.2876.0>, params: %{"api_key" => "e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf"}, path_info: ["api", "sources"], path_params: %{}, port: 8945, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "http://192.168.0.134:8945", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"api_key" => "e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf"}, query_string: "api_key=e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf", remote_ip: {192, 168, 0, 37}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "192.168.0.134:8945"}, {"user-agent", "curl/8.7.1"} ], request_path: "/api/sources", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_Ni7PKAyBcREAAIwB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2875.0>, port: 8945, scheme: "http", version: :"HTTP/1.1", path: "/api/sources", host: "192.168.0.134", peer: {{192, 168, 0, 37}, 50960}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "192.168.0.134:8945", "user-agent" => "curl/8.7.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "api_key=e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/sources (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2875.0>, port: 8945, scheme: "http", version: :"HTTP/1.1", path: "/api/sources", host: "192.168.0.134", peer: {{192, 168, 0, 37}, 50960}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "192.168.0.134:8945", "user-agent" => "curl/8.7.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "api_key=e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "192.168.0.134", method: "GET", owner: #PID<0.2876.0>, params: %{"api_key" => "e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf"}, path_info: ["api", "sources"], path_params: %{}, port: 8945, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "http://192.168.0.134:8945", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"api_key" => "e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf"}, query_string: "api_key=e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf", remote_ip: {192, 168, 0, 37}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "192.168.0.134:8945"}, {"user-agent", "curl/8.7.1"} ], request_path: "/api/sources", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKL_Ni7PKAyBcREAAIwB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, layout: {PinchflatWeb.Layouts, "app"} }, body_params: %{}, cookies: %{}, halted: false, host: "192.168.0.134", method: "GET" (truncated) 02:16:51.331 [info] GET /sources.json 02:16:51.331 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{"api_key" => "e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf"} Pipelines: [:browser] 02:16:51.332 [debug] QUERY OK source="settings" db=0.5ms 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 [] 02:16:51.333 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=33.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:51.335 [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 [] 02:16:51.336 [debug] QUERY OK source="settings" db=0.3ms idle=19.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:51.337 [debug] QUERY OK source="settings" db=0.3ms idle=19.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:51.338 [debug] QUERY OK source="sources" db=1.0ms idle=5.2ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:16:51.342 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms 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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:16:51.343 [info] Sent 200 in 12ms 02:16:56.378 [info] GET /sources.json 02:16:56.378 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{"api_key" => "e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf"} Pipelines: [:browser] 02:16:56.380 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1737.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:56.380 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1738.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:56.382 [debug] QUERY OK source="settings" db=0.3ms idle=1740.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:56.383 [debug] QUERY OK source="settings" db=0.3ms idle=1093.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:56.384 [debug] QUERY OK source="settings" db=0.2ms idle=91.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:56.386 [debug] QUERY OK source="sources" db=0.9ms idle=4.9ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:16:56.389 [debug] QUERY OK source="sources" db=2.7ms queue=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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:16:56.391 [info] Sent 200 in 13ms 02:16:59.958 [info] GET /sources.json 02:16:59.958 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{"api_key" => "e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf"} Pipelines: [:browser] 02:16:59.959 [debug] QUERY OK source="settings" db=0.3ms idle=661.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:59.960 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=318.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:59.961 [debug] QUERY OK source="settings" db=0.3ms idle=319.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:59.963 [debug] QUERY OK source="settings" db=0.2ms idle=321.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:59.963 [debug] QUERY OK source="settings" db=0.2ms idle=321.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:59.965 [debug] QUERY OK source="sources" db=1.0ms idle=4.9ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:16:59.968 [debug] QUERY OK source="sources" db=2.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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:16:59.969 [info] Sent 200 in 11ms 02:17:00.356 [info] {"source":"oban","duration":702,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:17:16.578 [info] GET / 02:17:16.578 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:17:16.579 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=937.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16.580 [debug] QUERY OK source="settings" db=0.4ms idle=938.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16.581 [debug] QUERY OK source="media_profiles" db=0.2ms idle=939.2ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:17:16.581 [debug] QUERY OK source="sources" db=0.2ms idle=939.6ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:17:16.582 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 02:17:16.583 [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 [] 02:17:16.584 [info] Sent 200 in 6ms 02:17:17.780 [info] GET / 02:17:17.780 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:17:17.781 [debug] QUERY OK source="settings" db=0.7ms idle=434.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:17.782 [debug] QUERY OK source="settings" db=0.6ms idle=140.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:17.784 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=141.5ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:17:17.785 [debug] QUERY OK source="sources" db=0.2ms idle=143.2ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:17:17.786 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=143.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:17.787 [debug] QUERY OK source="settings" db=0.5ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:17.789 [info] Sent 200 in 9ms 02:17:20.404 [info] {"source":"oban","duration":1067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:44.218 [info] GET / 02:17:44.218 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:17:44.219 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=816.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:44.220 [debug] QUERY OK source="settings" db=0.3ms idle=578.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:44.220 [debug] QUERY OK source="media_profiles" db=0.2ms idle=578.8ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 02:17:44.221 [debug] QUERY OK source="sources" db=0.2ms idle=579.3ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 02:17:44.222 [debug] QUERY OK source="settings" db=0.2ms idle=580.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:44.222 [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 [] 02:17:44.224 [info] Sent 200 in 6ms 02:17:46.266 [info] GET / 02:17:46.266 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"onboarding" => "0"} Pipelines: [:browser] 02:17:46.267 [debug] QUERY OK source="settings" db=0.4ms idle=860.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:46.268 [debug] QUERY OK source="settings" db=0.4ms idle=626.5ms UPDATE "settings" SET "onboarding" = ? WHERE "id" = ? [false, 1] 02:17:46.269 [debug] QUERY OK source="settings" db=0.6ms idle=627.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:46.270 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.2ms idle=628.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:17:46.271 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=628.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:17:46.272 [debug] QUERY OK source="media_items" db=0.1ms queue=0.7ms idle=3.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:17:46.273 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=4.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:17:46.274 [debug] QUERY OK source="settings" db=0.5ms 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:17:46.275 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:46.277 [debug] QUERY OK source="settings" db=0.4ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:46.279 [debug] QUERY OK source="tasks" db=0.5ms idle=6.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:17:46.280 [debug] QUERY OK source="media_items" db=0.1ms queue=0.2ms idle=6.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)) [] 02:17:46.282 [debug] QUERY OK source="media_items" db=0.5ms queue=0.4ms idle=6.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:17:46.283 [debug] QUERY OK source="media_items" db=0.2ms queue=0.3ms idle=7.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:17:46.285 [debug] QUERY OK source="media_items" db=0.6ms queue=0.3ms idle=7.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] 02:17:46.285 [info] Sent 200 in 19ms 02:17:46.318 [info] CONNECTED TO Phoenix.LiveView.Socket in 108µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "LQNzBis7KTFedWIlMy13OBgYQSkNNQZ5I713cQzAjEUptUEHUU9JlXaI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:17:46.339 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:17:46.341 [debug] QUERY OK source="media_items" db=2.1ms idle=60.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:17:46.343 [debug] QUERY OK source="media_items" db=0.9ms idle=61.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:17:46.343 [debug] Replied in 4ms 02:17:46.344 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:17:46.346 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=63.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:17:46.347 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=62.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] 02:17:46.348 [debug] Replied in 3ms 02:17:46.349 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:17:46.350 [debug] QUERY OK source="tasks" db=0.5ms idle=64.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:17:46.350 [debug] Replied in 1ms 02:17:46.351 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:17:46.351 [debug] Replied in 193µs 02:17:48.422 [info] {"args":{"force_refresh":1,"id":1},"id":2,"meta":{},"system_time":1775261868422309031,"max_attempts":20,"queue":"default","worker":"Pinchflat.Sources.SourceIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":[]} 02:17:48.424 [debug] QUERY OK source="tasks" db=1.1ms idle=781.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:17:48.424 [info] {"error":"** (RuntimeError) unknown worker: Pinchflat.Sources.SourceIndexingWorker","args":{"force_refresh":1,"id":1},"id":2,"meta":{},"state":"failure","max_attempts":20,"queue":"default","worker":"Pinchflat.Sources.SourceIndexingWorker","source":"oban","duration":633,"event":"job:exception","queue_time":1420443,"attempt":1,"tags":[]} 02:17:48.426 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=783.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:17:49.345 [info] GET /sources 02:17:49.345 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:17:49.347 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=924.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:49.348 [debug] QUERY OK source="settings" db=0.6ms idle=922.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49.349 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=924.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49.351 [debug] QUERY OK source="settings" db=0.6ms idle=924.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49.351 [debug] QUERY OK source="settings" db=0.2ms idle=918.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49.354 [debug] QUERY OK source="sources" db=1.4ms idle=6.1ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:17:49.357 [debug] QUERY OK source="sources" db=2.5ms 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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:17:49.359 [debug] QUERY OK source="settings" db=0.1ms idle=9.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:49.360 [debug] QUERY OK source="settings" db=0.1ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:49.360 [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 [] 02:17:49.363 [info] Sent 500 in 17ms 02:17:49.363 [debug] Converted error ArgumentError to 500 response 02:17:49.364 [error] #PID<0.2904.0> running PinchflatWeb.Endpoint (connection #PID<0.2892.0>, stream id 5) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources ** (exit) an exception was raised: ** (ArgumentError) cannot load `"video"` as type #Ecto.Enum for field :collection_type in %{} (ecto 3.12.5) lib/ecto/repo/queryable.ex:431: Ecto.Repo.Queryable.struct_load!/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:246: anonymous fn/5 in Ecto.Repo.Queryable.preprocessor/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:23: anonymous fn/3 in Ecto.Repo.Assoc.query/4 (elixir 1.18.4) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:22: Ecto.Repo.Assoc.query/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:237: Ecto.Repo.Queryable.execute/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/sources/source_live/index_table_live.ex:67: PinchflatWeb.Sources.SourceLive.IndexTableLive.set_sources/1 02:17:49.391 [info] CONNECTED TO Phoenix.LiveView.Socket in 25µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DU0gBnoFBEYDeWdgFEp-KgIIIQoPJwx2iyb32oW67IP5S2LZOEYinJkF", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:17:49.399 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:17:49.399 [debug] Replied in 234µs 02:17:50.406 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:52.546 [info] GET / 02:17:52.546 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:17:52.547 [debug] QUERY OK source="settings" db=0.3ms idle=1905.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:52.547 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1905.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:17:52.548 [debug] QUERY OK source="sources" db=0.4ms idle=1127.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:17:52.549 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=907.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:17:52.550 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=126.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:17:52.551 [debug] QUERY OK source="settings" db=0.4ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:52.551 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:52.553 [debug] QUERY OK source="settings" db=0.9ms 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 [] 02:17:52.555 [debug] QUERY OK source="tasks" db=0.4ms idle=5.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:17:52.556 [debug] QUERY OK source="media_items" db=0.2ms idle=6.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:17:52.558 [debug] QUERY OK source="media_items" db=0.7ms idle=6.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:17:52.559 [debug] QUERY OK source="media_items" db=0.9ms idle=7.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:17:52.562 [debug] QUERY OK source="media_items" db=1.9ms idle=6.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:17:52.563 [info] Sent 200 in 16ms 02:17:52.599 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Blx1fhcPKwNfHVY0MQh4Ez8eFQ8iKFZSbh7K_exsk-aavpJcrSmlCE1b", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:17:52.616 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:17:52.618 [debug] QUERY OK source="media_items" db=0.6ms idle=61.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)) [] 02:17:52.619 [debug] QUERY OK source="media_items" db=1.3ms idle=61.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:17:52.619 [debug] Replied in 3ms 02:17:52.621 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:17:52.622 [debug] QUERY OK source="media_items" db=0.9ms idle=63.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:17:52.624 [debug] QUERY OK source="media_items" db=1.5ms idle=62.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:17:52.624 [debug] Replied in 3ms 02:17:52.625 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:17:52.626 [debug] QUERY OK source="tasks" db=0.4ms idle=63.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:17:52.626 [debug] Replied in 1ms 02:17:52.627 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:17:52.627 [debug] Replied in 186µs 02:18:00.358 [info] {"source":"oban","duration":707,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:18:05.461 [info] {"args":{"force_refresh":1,"id":1},"id":2,"meta":{},"system_time":1775261885461129868,"max_attempts":20,"queue":"default","worker":"Pinchflat.Sources.SourceIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":[]} 02:18:05.462 [debug] QUERY OK source="tasks" db=1.0ms idle=1820.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:05.463 [info] {"error":"** (RuntimeError) unknown worker: Pinchflat.Sources.SourceIndexingWorker","args":{"force_refresh":1,"id":1},"id":2,"meta":{},"state":"failure","max_attempts":20,"queue":"default","worker":"Pinchflat.Sources.SourceIndexingWorker","source":"oban","duration":492,"event":"job:exception","queue_time":36240,"attempt":2,"tags":[]} 02:18:05.464 [debug] QUERY OK source="tasks" db=0.6ms idle=1011.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:07.250 [info] GET / 02:18:07.250 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:18:07.252 [debug] QUERY OK source="settings" db=0.4ms idle=793.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:07.252 [debug] QUERY OK source="media_profiles" db=0.2ms idle=610.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:18:07.253 [debug] QUERY OK source="sources" db=0.3ms idle=611.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:18:07.253 [debug] QUERY OK source="media_items" db=0.2ms idle=611.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:07.254 [debug] QUERY OK source="media_items" db=0.1ms idle=612.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:07.255 [debug] QUERY OK source="settings" db=0.6ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:07.256 [debug] QUERY OK source="settings" db=0.6ms 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 [] 02:18:07.257 [debug] QUERY OK source="settings" db=0.2ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:07.259 [debug] QUERY OK source="tasks" db=0.6ms idle=5.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:07.260 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=5.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:07.262 [debug] QUERY OK source="media_items" db=1.4ms idle=5.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:07.264 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=7.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:18:07.266 [debug] QUERY OK source="media_items" db=1.3ms idle=7.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:18:07.267 [info] Sent 200 in 17ms 02:18:07.307 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AVkMXREfI0QEQG9lcEtgIAApCTZSGzhaemNhYup40pX073RPMdqU3v_j", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:18:07.325 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:18:07.326 [debug] QUERY OK source="media_items" db=0.4ms idle=65.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:07.327 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=65.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:07.327 [debug] Replied in 2ms 02:18:07.328 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:18:07.330 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=66.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:18:07.332 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=65.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:07.332 [debug] Replied in 3ms 02:18:07.333 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:07.334 [debug] QUERY OK source="tasks" db=0.4ms idle=67.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:18:07.334 [debug] Replied in 1ms 02:18:07.335 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:07.335 [debug] Replied in 206µs 02:18:07.814 [info] GET / 02:18:07.815 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:18:07.816 [debug] QUERY OK source="settings" db=0.4ms idle=488.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:07.816 [debug] QUERY OK source="media_profiles" db=0.2ms idle=486.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:18:07.817 [debug] QUERY OK source="sources" db=0.3ms idle=484.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:18:07.817 [debug] QUERY OK source="media_items" db=0.1ms idle=482.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:07.818 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=357.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:07.819 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:07.819 [debug] QUERY OK source="settings" db=0.3ms 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:18:07.821 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 02:18:07.823 [debug] QUERY OK source="tasks" db=0.4ms idle=4.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"] 02:18:07.824 [debug] QUERY OK source="media_items" db=0.2ms idle=5.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)) [] 02:18:07.824 [debug] QUERY OK source="media_items" db=0.4ms idle=5.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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:18:07.826 [debug] QUERY OK source="media_items" db=0.9ms idle=5.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:18:07.828 [debug] QUERY OK source="media_items" db=1.9ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:18:07.829 [info] Sent 200 in 15ms 02:18:07.876 [info] CONNECTED TO Phoenix.LiveView.Socket in 69µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "SWInfBE-BzNVQwY2Mh4GCXwJEzkHIT5I-VeIYTTCas1cuf4y1DkZfLYx", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:18:07.886 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:18:07.887 [debug] QUERY OK source="media_items" db=0.4ms idle=63.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)) [] 02:18:07.888 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=63.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:07.888 [debug] Replied in 2ms 02:18:07.890 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:18:07.891 [debug] QUERY OK source="media_items" db=0.6ms idle=65.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:18:07.892 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=65.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:07.892 [debug] Replied in 2ms 02:18:07.894 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:07.895 [debug] QUERY OK source="tasks" db=0.5ms idle=65.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:07.895 [debug] Replied in 1ms 02:18:07.895 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:07.895 [debug] Replied in 100µs 02:18:08.060 [info] GET / 02:18:08.060 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:18:08.061 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=173.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:08.062 [debug] QUERY OK source="media_profiles" db=0.2ms idle=173.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:18:08.063 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=171.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:18:08.063 [debug] QUERY OK source="media_items" db=0.4ms idle=170.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.064 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=168.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.065 [debug] QUERY OK source="settings" db=0.3ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:08.066 [debug] QUERY OK source="settings" db=0.4ms 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 [] 02:18:08.067 [debug] QUERY OK source="settings" db=0.4ms 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:18:08.069 [debug] QUERY OK source="tasks" db=0.7ms idle=5.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:08.070 [debug] QUERY OK source="media_items" db=0.2ms idle=5.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)) [] 02:18:08.072 [debug] QUERY OK source="media_items" db=1.6ms idle=5.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:08.074 [debug] QUERY OK source="media_items" db=0.6ms idle=7.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:18:08.076 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=7.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:18:08.077 [info] Sent 200 in 17ms 02:18:08.113 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AHcDZDEcZRFyQX4-LzJ9PDQlTxsmKwoAdCAQyv6aFqIkhJOLyh7xGFm0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:18:08.129 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:18:08.130 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=60.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.131 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=59.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:08.131 [debug] Replied in 2ms 02:18:08.133 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:18:08.134 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=61.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:18:08.136 [debug] QUERY OK source="media_items" db=1.4ms queue=0.3ms idle=60.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:08.137 [debug] Replied in 4ms 02:18:08.138 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:08.139 [debug] QUERY OK source="tasks" db=0.3ms idle=62.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:08.139 [debug] Replied in 1ms 02:18:08.140 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:08.140 [debug] Replied in 129µs 02:18:08.275 [info] GET / 02:18:08.276 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:18:08.277 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=146.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:08.277 [debug] QUERY OK source="media_profiles" db=0.1ms idle=145.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:18:08.278 [debug] QUERY OK source="sources" db=0.4ms idle=143.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:18:08.279 [debug] QUERY OK source="media_items" db=0.2ms idle=142.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.280 [debug] QUERY OK source="media_items" db=0.8ms idle=140.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.281 [debug] QUERY OK source="settings" db=0.5ms 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 [] 02:18:08.282 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:08.284 [debug] QUERY OK source="settings" db=0.4ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:08.286 [debug] QUERY OK source="tasks" db=0.5ms idle=6.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:08.288 [debug] QUERY OK source="media_items" db=0.4ms idle=7.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.288 [debug] QUERY OK source="media_items" db=0.4ms idle=6.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] 02:18:08.289 [debug] QUERY OK source="media_items" db=0.3ms idle=6.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:18:08.290 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=5.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:08.291 [info] Sent 200 in 15ms 02:18:08.330 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DWETfD4MEgNyYGgscShgMnk4Dgg5Ogl0iUQIvfAsFP_y6PRB4uvkXWnD", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:18:08.344 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:18:08.345 [debug] QUERY OK source="media_items" db=0.5ms idle=58.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.346 [debug] QUERY OK source="media_items" db=0.8ms idle=57.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:08.347 [debug] Replied in 2ms 02:18:08.348 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:18:08.349 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=60.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"))) [] 02:18:08.351 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=60.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:08.352 [debug] Replied in 3ms 02:18:08.353 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:08.354 [debug] QUERY OK source="tasks" db=0.5ms idle=63.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"] 02:18:08.354 [debug] Replied in 1ms 02:18:08.355 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:08.356 [debug] Replied in 169µs 02:18:08.453 [info] GET / 02:18:08.453 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:18:08.454 [debug] QUERY OK source="settings" db=0.7ms queue=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 [] 02:18:08.456 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.4ms idle=108.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:18:08.456 [debug] QUERY OK source="sources" db=0.6ms idle=106.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:18:08.457 [debug] QUERY OK source="media_items" db=0.4ms idle=105.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.458 [debug] QUERY OK source="media_items" db=0.4ms idle=102.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.459 [debug] QUERY OK source="settings" db=0.6ms 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:18:08.459 [debug] QUERY OK source="settings" db=0.3ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:08.460 [debug] QUERY OK source="settings" db=0.5ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:08.463 [debug] QUERY OK source="tasks" db=1.0ms idle=3.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:08.464 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.465 [debug] QUERY OK source="media_items" db=0.6ms idle=4.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:08.466 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=5.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:18:08.468 [debug] QUERY OK source="media_items" db=1.2ms idle=3.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:18:08.469 [info] Sent 200 in 15ms 02:18:08.501 [info] CONNECTED TO Phoenix.LiveView.Socket in 37µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Cl04RSEhGDVVb0IEcQBWIDgkHxsCAAxZnizpiKKEa_uQ6xdPuigxcmki", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:18:08.514 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:18:08.515 [debug] QUERY OK source="media_items" db=0.4ms idle=51.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.516 [debug] QUERY OK source="media_items" db=0.8ms idle=51.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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:18:08.516 [debug] Replied in 2ms 02:18:08.519 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:18:08.520 [debug] QUERY OK source="media_items" db=0.6ms queue=0.3ms idle=54.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:18:08.522 [debug] QUERY OK source="media_items" db=1.4ms idle=54.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:08.522 [debug] Replied in 3ms 02:18:08.523 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:08.524 [debug] QUERY OK source="tasks" db=0.4ms idle=55.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:18:08.524 [debug] Replied in 1ms 02:18:08.524 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:08.525 [debug] Replied in 122µs 02:18:08.617 [info] GET / 02:18:08.617 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:18:08.618 [debug] QUERY OK source="settings" db=0.4ms idle=102.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:08.619 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.2ms idle=101.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:18:08.620 [debug] QUERY OK source="sources" db=0.7ms idle=99.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:18:08.621 [debug] QUERY OK source="media_items" db=0.3ms idle=98.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.621 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=97.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.622 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:08.623 [debug] QUERY OK source="settings" db=0.6ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:08.625 [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 [] 02:18:08.627 [debug] QUERY OK source="tasks" db=0.5ms idle=5.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"] 02:18:08.628 [debug] QUERY OK source="media_items" db=0.2ms idle=6.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.630 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=6.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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:18:08.631 [debug] QUERY OK source="media_items" db=0.4ms idle=7.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:18:08.633 [debug] QUERY OK source="media_items" db=1.0ms idle=7.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:08.633 [info] Sent 200 in 16ms 02:18:08.665 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "EF02WhlHKgRaRnYRLg5kCgM8CxNSVTNXtitoQ-ytnvADivVzNqsp38Tg", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:18:08.675 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:18:08.676 [debug] QUERY OK source="media_items" db=0.3ms idle=48.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:18:08.677 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=48.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:08.677 [debug] Replied in 2ms 02:18:08.679 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:18:08.680 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=49.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:18:08.682 [debug] QUERY OK source="media_items" db=1.4ms idle=48.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:08.682 [debug] Replied in 3ms 02:18:08.683 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:08.684 [debug] QUERY OK source="tasks" db=0.7ms idle=50.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:08.684 [debug] Replied in 1ms 02:18:08.685 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:08.685 [debug] Replied in 113µs 02:18:08.757 [info] GET / 02:18:08.757 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:18:08.759 [debug] QUERY OK source="settings" db=0.7ms idle=81.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:08.759 [debug] QUERY OK source="media_profiles" db=0.1ms idle=81.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:18:08.760 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=79.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:18:08.760 [debug] QUERY OK source="media_items" db=0.3ms idle=78.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.761 [debug] QUERY OK source="media_items" db=0.3ms idle=76.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.762 [debug] QUERY OK source="settings" db=0.5ms 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:18:08.763 [debug] QUERY OK source="settings" db=0.4ms 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 [] 02:18:08.764 [debug] QUERY OK source="settings" db=0.4ms 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 [] 02:18:08.766 [debug] QUERY OK source="tasks" db=0.8ms idle=4.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:18:08.767 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=5.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.768 [debug] QUERY OK source="media_items" db=0.9ms idle=5.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:08.770 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=6.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:18:08.772 [debug] QUERY OK source="media_items" db=1.2ms idle=6.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:08.773 [info] Sent 200 in 15ms 02:18:08.803 [info] CONNECTED TO Phoenix.LiveView.Socket in 47µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "F1s1Bn1fAkV5BgMBKhdmChwKCgA5ASNzsow355Q5M64TmoTzQGrcXlDC", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:18:08.813 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:18:08.814 [debug] QUERY OK source="media_items" db=0.2ms idle=47.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)) [] 02:18:08.815 [debug] QUERY OK source="media_items" db=0.7ms idle=46.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:08.815 [debug] Replied in 2ms 02:18:08.817 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:18:08.819 [debug] QUERY OK source="media_items" db=1.0ms queue=0.2ms idle=49.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"))) [] 02:18:08.821 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=49.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:08.821 [debug] Replied in 4ms 02:18:08.823 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:08.824 [debug] QUERY OK source="tasks" db=0.4ms idle=51.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:08.824 [debug] Replied in 1ms 02:18:08.824 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:08.824 [debug] Replied in 94µs 02:18:08.953 [info] GET / 02:18:08.953 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:18:08.954 [debug] QUERY OK source="settings" db=0.5ms idle=139.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:08.955 [debug] QUERY OK source="media_profiles" db=0.2ms idle=139.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:18:08.955 [debug] QUERY OK source="sources" db=0.1ms idle=136.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:18:08.956 [debug] QUERY OK source="media_items" db=0.1ms idle=134.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.956 [debug] QUERY OK source="media_items" db=0.3ms idle=132.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.957 [debug] QUERY OK source="settings" db=0.8ms 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:18:08.958 [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 [] 02:18:08.959 [debug] QUERY OK source="settings" db=0.3ms 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:18:08.962 [debug] QUERY OK source="tasks" db=0.6ms idle=5.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:08.963 [debug] QUERY OK source="media_items" db=0.3ms queue=0.2ms idle=6.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:08.964 [debug] QUERY OK source="media_items" db=0.7ms 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] 02:18:08.965 [debug] QUERY OK source="media_items" db=0.7ms idle=6.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:18:08.967 [debug] QUERY OK source="media_items" db=0.9ms idle=6.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:18:08.968 [info] Sent 200 in 14ms 02:18:08.997 [info] CONNECTED TO Phoenix.LiveView.Socket in 48µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "CXkheAohfjdyVlIFBTR2HgoIICEnACpUmMcMBK-GFfePBLDnGEXBFmMd", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:18:09.008 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:18:09.009 [debug] QUERY OK source="media_items" db=0.3ms idle=46.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:09.010 [debug] QUERY OK source="media_items" db=0.7ms idle=46.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:09.010 [debug] Replied in 2ms 02:18:09.011 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:18:09.012 [debug] QUERY OK source="media_items" db=0.7ms idle=47.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:18:09.014 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=47.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] 02:18:09.014 [debug] Replied in 3ms 02:18:09.016 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:09.016 [debug] QUERY OK source="tasks" db=0.3ms idle=49.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:09.016 [debug] Replied in 885µs 02:18:09.017 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:09.017 [debug] Replied in 125µs 02:18:09.115 [info] GET / 02:18:09.115 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:18:09.116 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=106.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:09.117 [debug] QUERY OK source="media_profiles" db=0.2ms idle=106.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:18:09.118 [debug] QUERY OK source="sources" db=0.6ms idle=104.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:18:09.118 [debug] QUERY OK source="media_items" db=0.5ms idle=103.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:09.119 [debug] QUERY OK source="media_items" db=0.1ms idle=102.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:09.120 [debug] QUERY OK source="settings" db=0.4ms 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 [] 02:18:09.120 [debug] QUERY OK source="settings" db=0.4ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:09.122 [debug] QUERY OK source="settings" db=0.2ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:09.124 [debug] QUERY OK source="tasks" db=0.4ms idle=4.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:09.125 [debug] QUERY OK source="media_items" db=0.4ms idle=5.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)) [] 02:18:09.126 [debug] QUERY OK source="media_items" db=0.8ms idle=5.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:09.127 [debug] QUERY OK source="media_items" db=0.5ms idle=6.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:18:09.129 [debug] QUERY OK source="media_items" db=1.4ms idle=5.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:09.130 [info] Sent 200 in 14ms 02:18:09.170 [info] CONNECTED TO Phoenix.LiveView.Socket in 45µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DXE1dA4nHAZeCH8AFUpdMiECGQc3AjZ7iEwAFMOvj8HUR2oBlOadVoQK", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:18:09.179 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:18:09.180 [debug] QUERY OK source="media_items" db=0.3ms idle=55.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)) [] 02:18:09.181 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=54.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:09.181 [debug] Replied in 2ms 02:18:09.182 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:18:09.183 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=56.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:18:09.185 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=56.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:09.185 [debug] Replied in 3ms 02:18:09.187 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:09.188 [debug] QUERY OK source="tasks" db=0.2ms queue=0.2ms idle=58.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:09.188 [debug] Replied in 1ms 02:18:09.188 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:09.188 [debug] Replied in 142µs 02:18:09.267 [info] GET / 02:18:09.268 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:18:09.269 [debug] QUERY OK source="settings" db=0.7ms idle=88.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:09.270 [debug] QUERY OK source="media_profiles" db=0.1ms idle=88.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:18:09.270 [debug] QUERY OK source="sources" db=0.4ms idle=86.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:18:09.271 [debug] QUERY OK source="media_items" db=0.2ms idle=85.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:09.271 [debug] QUERY OK source="media_items" db=0.4ms idle=83.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:09.272 [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 [] 02:18:09.273 [debug] QUERY OK source="settings" db=0.5ms 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 [] 02:18:09.274 [debug] QUERY OK source="settings" db=0.4ms 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 [] 02:18:09.277 [debug] QUERY OK source="tasks" db=1.1ms idle=4.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:09.278 [debug] QUERY OK source="media_items" db=0.5ms 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 (m0."media_filepath" IS NULL)) [] 02:18:09.279 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=6.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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:18:09.280 [debug] QUERY OK source="media_items" db=0.4ms idle=6.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:18:09.281 [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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:18:09.282 [info] Sent 200 in 14ms 02:18:09.313 [info] CONNECTED TO Phoenix.LiveView.Socket in 46µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Bm0pfiQ5IAN9Vlo-dRZ3OSF7P05RDARybYkKlSssIfmk2nEIl6G-0acB", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:18:09.323 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:18:09.324 [debug] QUERY OK source="media_items" db=0.5ms idle=46.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:09.325 [debug] QUERY OK source="media_items" db=1.0ms idle=46.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:09.326 [debug] Replied in 2ms 02:18:09.327 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:18:09.328 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=48.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:18:09.330 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=48.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:09.331 [debug] Replied in 3ms 02:18:09.332 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:09.333 [debug] QUERY OK source="tasks" db=0.7ms idle=51.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:09.333 [debug] Replied in 1ms 02:18:09.335 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:09.335 [debug] Replied in 193µs 02:18:10.813 [info] GET /sources 02:18:10.813 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:18:10.815 [debug] QUERY OK source="settings" db=0.5ms idle=347.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:10.816 [debug] QUERY OK source="settings" db=0.5ms idle=173.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:10.817 [debug] QUERY OK source="settings" db=0.6ms idle=175.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:10.820 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=178.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:10.821 [debug] QUERY OK source="settings" db=0.5ms idle=179.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:10.823 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=7.2ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:18:10.825 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms 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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:18:10.827 [debug] QUERY OK source="settings" db=0.2ms 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:18:10.827 [debug] QUERY OK source="settings" db=0.1ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:10.828 [debug] QUERY OK source="settings" db=0.2ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:10.830 [info] Sent 500 in 17ms 02:18:10.830 [debug] Converted error ArgumentError to 500 response 02:18:10.831 [error] #PID<0.2999.0> running PinchflatWeb.Endpoint (connection #PID<0.2918.0>, stream id 21) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources ** (exit) an exception was raised: ** (ArgumentError) cannot load `"video"` as type #Ecto.Enum for field :collection_type in %{} (ecto 3.12.5) lib/ecto/repo/queryable.ex:431: Ecto.Repo.Queryable.struct_load!/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:246: anonymous fn/5 in Ecto.Repo.Queryable.preprocessor/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:23: anonymous fn/3 in Ecto.Repo.Assoc.query/4 (elixir 1.18.4) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:22: Ecto.Repo.Assoc.query/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:237: Ecto.Repo.Queryable.execute/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/sources/source_live/index_table_live.ex:67: PinchflatWeb.Sources.SourceLive.IndexTableLive.set_sources/1 02:18:10.861 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "O14BRXEhPSgMXA4FKRFdPTd5LSkJXRdS_jCp9KnX8l9PnioMz4UJh0pb", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:18:10.880 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:10.880 [debug] Replied in 236µs 02:18:20.409 [info] {"source":"oban","duration":1662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:25.508 [info] {"args":{"force_refresh":1,"id":1},"id":2,"meta":{},"system_time":1775261905507767870,"max_attempts":20,"queue":"default","worker":"Pinchflat.Sources.SourceIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":[]} 02:18:25.509 [info] {"error":"** (RuntimeError) unknown worker: Pinchflat.Sources.SourceIndexingWorker","args":{"force_refresh":1,"id":1},"id":2,"meta":{},"state":"failure","max_attempts":20,"queue":"default","worker":"Pinchflat.Sources.SourceIndexingWorker","source":"oban","duration":833,"event":"job:exception","queue_time":43672,"attempt":3,"tags":[]} 02:18:27.538 [info] GET / 02:18:27.538 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:18:27.540 [debug] QUERY OK source="settings" db=1.1ms idle=897.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:27.541 [debug] QUERY OK source="media_profiles" db=0.3ms idle=899.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:18:27.541 [debug] QUERY OK source="sources" db=0.2ms idle=899.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:18:27.542 [debug] QUERY OK source="media_items" db=0.3ms idle=900.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:27.543 [debug] QUERY OK source="media_items" db=0.5ms idle=37.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:27.544 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms 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 [] 02:18:27.545 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:27.546 [debug] QUERY OK source="settings" db=0.5ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:27.548 [debug] QUERY OK source="tasks" db=0.4ms idle=5.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:27.549 [debug] QUERY OK source="media_items" db=0.3ms 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 (m0."media_filepath" IS NULL)) [] 02:18:27.550 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=5.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:27.551 [debug] QUERY OK source="media_items" db=0.4ms idle=5.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:18:27.552 [debug] QUERY OK source="media_items" db=1.0ms idle=4.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:27.553 [info] Sent 200 in 15ms 02:18:27.586 [info] CONNECTED TO Phoenix.LiveView.Socket in 47µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "M2Y2cQEJPRpmZQIXKRpZJngfE1IuJFZmWRtDIcnjRU5BnbkV5Rk1OI1V", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:18:27.600 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:18:27.601 [debug] QUERY OK source="media_items" db=0.2ms idle=52.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:18:27.602 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=52.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:27.603 [debug] Replied in 2ms 02:18:27.604 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:18:27.606 [debug] QUERY OK source="media_items" db=1.0ms idle=54.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:18:27.608 [debug] QUERY OK source="media_items" db=1.6ms idle=54.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] 02:18:27.608 [debug] Replied in 3ms 02:18:27.608 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:27.610 [debug] QUERY OK source="tasks" db=0.7ms idle=56.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:27.610 [debug] Replied in 1ms 02:18:27.610 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:18:27.610 [debug] Replied in 126µs 02:18:29.788 [debug] HANDLE EVENT "reload_page" in Pinchflat.Pages.HistoryTableLive Parameters: %{"value" => ""} 02:18:29.789 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=1146.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:29.791 [debug] QUERY OK source="media_items" db=1.1ms idle=1148.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:29.791 [debug] Replied in 3ms 02:18:30.199 [debug] HANDLE EVENT "reload_page" in Pinchflat.Pages.HistoryTableLive Parameters: %{"value" => ""} 02:18:30.200 [debug] QUERY OK source="media_items" db=0.8ms idle=1557.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:30.202 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=1558.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:30.202 [debug] Replied in 3ms 02:18:30.383 [debug] HANDLE EVENT "reload_page" in Pinchflat.Pages.HistoryTableLive Parameters: %{"value" => ""} 02:18:30.384 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=874.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:30.386 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=595.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:30.386 [debug] Replied in 3ms 02:18:30.548 [debug] HANDLE EVENT "reload_page" in Pinchflat.Pages.HistoryTableLive Parameters: %{"value" => ""} 02:18:30.549 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=348.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)) [] 02:18:30.551 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=348.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:30.551 [debug] Replied in 2ms 02:18:30.700 [debug] HANDLE EVENT "reload_page" in Pinchflat.Pages.HistoryTableLive Parameters: %{"value" => ""} 02:18:30.701 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=315.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:18:30.702 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=315.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:18:30.702 [debug] Replied in 2ms 02:18:50.412 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:50.566 [info] {"args":{"force_refresh":1,"id":1},"id":2,"meta":{},"system_time":1775261930566483276,"max_attempts":20,"queue":"default","worker":"Pinchflat.Sources.SourceIndexingWorker","source":"oban","event":"job:start","attempt":4,"tags":[]} 02:18:50.568 [debug] QUERY OK source="tasks" db=1.0ms idle=925.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:18:50.568 [info] {"error":"** (RuntimeError) unknown worker: Pinchflat.Sources.SourceIndexingWorker","args":{"force_refresh":1,"id":1},"id":2,"meta":{},"state":"failure","max_attempts":20,"queue":"default","worker":"Pinchflat.Sources.SourceIndexingWorker","source":"oban","duration":516,"event":"job:exception","queue_time":55657,"attempt":4,"tags":[]} 02:18:50.570 [debug] QUERY OK source="tasks" db=0.7ms idle=157.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:19:00.360 [info] {"source":"oban","duration":480,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:19:12.612 [info] {"args":{"force_refresh":1,"id":1},"id":3,"meta":{},"system_time":1775261952612410734,"max_attempts":20,"queue":"default","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":[]} 02:19:12.614 [debug] QUERY OK source="tasks" db=1.0ms idle=971.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:19:12.615 [debug] QUERY OK source="sources" db=1.0ms queue=0.8ms idle=971.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:19:12.619 [info] {"error":"** (ArgumentError) cannot load `\"video\"` as type #Ecto.Enum for field :collection_type in %Pinchflat.Sources.Source{__meta__: #Ecto.Schema.Metadata<:loaded, \"sources\">, id: nil, enabled: true, uuid: nil, custom_name: nil, description: nil, collection_name: nil, collection_id: nil, collection_type: nil, index_frequency_minutes: 1440, fast_index: false, cookie_behaviour: :disabled, download_media: true, last_indexed_at: nil, download_cutoff_date: nil, retention_period_days: nil, original_url: nil, title_filter_regex: nil, output_path_template_override: nil, min_duration_seconds: nil, max_duration_seconds: nil, series_directory: nil, nfo_filepath: nil, poster_filepath: nil, fanart_filepath: nil, banner_filepath: nil, marked_for_deletion_at: nil, media_profile_id: nil, media_profile: #Ecto.Association.NotLoaded, metadata: #Ecto.Association.NotLoaded, tasks: #Ecto.Association.NotLoaded, media_items: #Ecto.Association.NotLoaded, inserted_at: nil, updated_at: nil}","args":{"force_refresh":1,"id":1},"id":3,"meta":{},"state":"failure","max_attempts":20,"queue":"default","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":3780,"event":"job:exception","queue_time":1610513,"attempt":1,"tags":[]} 02:19:12.620 [debug] QUERY OK source="tasks" db=0.4ms idle=15.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:19:20.415 [info] {"source":"oban","duration":1835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:21.254 [info] GET /sources 02:19:21.254 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:19:21.255 [debug] QUERY OK source="settings" db=0.3ms idle=1613.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:21.256 [debug] QUERY OK source="settings" db=0.3ms idle=1614.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:21.258 [debug] QUERY OK source="settings" db=0.5ms idle=1615.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:21.260 [debug] QUERY OK source="settings" db=0.3ms idle=844.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:21.261 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=637.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:21.264 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=6.9ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:19:21.268 [debug] QUERY OK source="sources" db=2.9ms idle=8.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:19:21.269 [debug] QUERY OK source="settings" db=0.1ms idle=11.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:21.270 [debug] QUERY OK source="settings" db=0.2ms idle=9.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:21.270 [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 [] 02:19:21.272 [info] Sent 500 in 17ms 02:19:21.272 [debug] Converted error ArgumentError to 500 response 02:19:21.273 [error] #PID<0.3020.0> running PinchflatWeb.Endpoint (connection #PID<0.3019.0>, stream id 1) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources ** (exit) an exception was raised: ** (ArgumentError) cannot load `"video"` as type #Ecto.Enum for field :collection_type in %{} (ecto 3.12.5) lib/ecto/repo/queryable.ex:431: Ecto.Repo.Queryable.struct_load!/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:246: anonymous fn/5 in Ecto.Repo.Queryable.preprocessor/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:23: anonymous fn/3 in Ecto.Repo.Assoc.query/4 (elixir 1.18.4) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:22: Ecto.Repo.Assoc.query/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:237: Ecto.Repo.Queryable.execute/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/sources/source_live/index_table_live.ex:67: PinchflatWeb.Sources.SourceLive.IndexTableLive.set_sources/1 02:19:21.304 [info] CONNECTED TO Phoenix.LiveView.Socket in 47µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "CU4RXQY9PBZWZwICLgBdFz0LAFU0CV9-mzShNWofbW5WixogpFx6Ud8N", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:19:21.329 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:19:21.329 [debug] Replied in 214µs 02:19:22.710 [info] GET /sources 02:19:22.710 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:19:22.711 [debug] QUERY OK source="settings" db=0.2ms idle=84.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:22.712 [debug] QUERY OK source="settings" db=0.3ms 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 [] 02:19:22.713 [debug] QUERY OK source="settings" db=0.3ms idle=71.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:22.715 [debug] QUERY OK source="settings" db=0.5ms idle=72.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:22.716 [debug] QUERY OK source="settings" db=0.4ms idle=73.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:22.718 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=5.3ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:19:22.721 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:19:22.723 [debug] QUERY OK source="settings" db=0.3ms idle=10.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:22.724 [debug] QUERY OK source="settings" db=0.4ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:22.725 [debug] QUERY OK source="settings" db=0.4ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:22.726 [info] Sent 500 in 16ms 02:19:22.727 [debug] Converted error ArgumentError to 500 response 02:19:22.727 [error] #PID<0.3024.0> running PinchflatWeb.Endpoint (connection #PID<0.3019.0>, stream id 2) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources ** (exit) an exception was raised: ** (ArgumentError) cannot load `"video"` as type #Ecto.Enum for field :collection_type in %{} (ecto 3.12.5) lib/ecto/repo/queryable.ex:431: Ecto.Repo.Queryable.struct_load!/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:246: anonymous fn/5 in Ecto.Repo.Queryable.preprocessor/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:23: anonymous fn/3 in Ecto.Repo.Assoc.query/4 (elixir 1.18.4) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:22: Ecto.Repo.Assoc.query/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:237: Ecto.Repo.Queryable.execute/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/sources/source_live/index_table_live.ex:67: PinchflatWeb.Sources.SourceLive.IndexTableLive.set_sources/1 02:19:22.765 [info] CONNECTED TO Phoenix.LiveView.Socket in 48µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "V10qYi0eAChsSV8ZNklTMQQGSQYgBARf3ihWetSXXyhLq1aAIK1eAico", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:19:22.783 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:19:22.783 [debug] Replied in 226µs 02:19:23.106 [info] GET /sources 02:19:23.107 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:19:23.108 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=389.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:23.109 [debug] QUERY OK source="settings" db=1.0ms idle=387.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:23.112 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=387.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:23.113 [debug] QUERY OK source="settings" db=0.2ms idle=389.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:23.114 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=388.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:23.116 [debug] QUERY OK source="sources" db=1.1ms idle=7.3ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:19:23.118 [debug] QUERY OK source="sources" db=1.2ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:19:23.120 [debug] QUERY OK source="settings" db=0.1ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:23.121 [debug] QUERY OK source="settings" db=0.4ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:23.121 [debug] QUERY OK source="settings" db=0.2ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:23.123 [info] Sent 500 in 16ms 02:19:23.123 [debug] Converted error ArgumentError to 500 response 02:19:23.124 [error] #PID<0.3029.0> running PinchflatWeb.Endpoint (connection #PID<0.3019.0>, stream id 4) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources ** (exit) an exception was raised: ** (ArgumentError) cannot load `"video"` as type #Ecto.Enum for field :collection_type in %{} (ecto 3.12.5) lib/ecto/repo/queryable.ex:431: Ecto.Repo.Queryable.struct_load!/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:246: anonymous fn/5 in Ecto.Repo.Queryable.preprocessor/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:23: anonymous fn/3 in Ecto.Repo.Assoc.query/4 (elixir 1.18.4) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:22: Ecto.Repo.Assoc.query/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:237: Ecto.Repo.Queryable.execute/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/sources/source_live/index_table_live.ex:67: PinchflatWeb.Sources.SourceLive.IndexTableLive.set_sources/1 02:19:23.163 [info] CONNECTED TO Phoenix.LiveView.Socket in 48µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "A3wyWTA-PDQCAVg5GDcKQCQJMA4xO1dVgHplxToD61ol_O80iDHmPV0e", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:19:23.169 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:19:23.169 [debug] Replied in 229µs 02:19:23.662 [info] GET /sources 02:19:23.663 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:19:23.664 [debug] QUERY OK source="settings" db=0.3ms idle=544.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:23.665 [debug] QUERY OK source="settings" db=0.7ms idle=544.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:23.667 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=545.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:23.669 [debug] QUERY OK source="settings" db=0.2ms idle=547.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:23.670 [debug] QUERY OK source="settings" db=0.7ms 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:19:23.672 [debug] QUERY OK source="sources" db=0.9ms idle=6.7ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:19:23.674 [debug] QUERY OK source="sources" db=1.5ms idle=7.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:19:23.675 [debug] QUERY OK source="settings" db=0.3ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:23.676 [debug] QUERY OK source="settings" db=0.5ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:23.677 [debug] QUERY OK source="settings" db=0.4ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:23.679 [info] Sent 500 in 16ms 02:19:23.679 [debug] Converted error ArgumentError to 500 response 02:19:23.680 [error] #PID<0.3034.0> running PinchflatWeb.Endpoint (connection #PID<0.3019.0>, stream id 6) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources ** (exit) an exception was raised: ** (ArgumentError) cannot load `"video"` as type #Ecto.Enum for field :collection_type in %{} (ecto 3.12.5) lib/ecto/repo/queryable.ex:431: Ecto.Repo.Queryable.struct_load!/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:246: anonymous fn/5 in Ecto.Repo.Queryable.preprocessor/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:23: anonymous fn/3 in Ecto.Repo.Assoc.query/4 (elixir 1.18.4) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:22: Ecto.Repo.Assoc.query/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:237: Ecto.Repo.Queryable.execute/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/sources/source_live/index_table_live.ex:67: PinchflatWeb.Sources.SourceLive.IndexTableLive.set_sources/1 02:19:23.711 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "NlYjfX4QNSV-CVIkdjxjChw9SQVSBwJIRbaH6zfUJ9eq1DQzQp1f3jex", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:19:23.726 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:19:23.726 [debug] Replied in 101µs 02:19:23.865 [info] GET /sources 02:19:23.865 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:19:23.866 [debug] QUERY OK source="settings" db=0.8ms idle=193.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:23.866 [debug] QUERY OK source="settings" db=0.3ms idle=192.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:23.867 [debug] QUERY OK source="settings" db=0.1ms idle=191.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:23.867 [debug] QUERY OK source="settings" db=0.1ms idle=191.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:23.868 [debug] QUERY OK source="settings" db=0.1ms idle=190.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:23.868 [debug] QUERY OK source="sources" db=0.4ms idle=1.9ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:19:23.870 [debug] QUERY OK source="sources" db=0.9ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:19:23.870 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:23.870 [debug] QUERY OK source="settings" db=0.0ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:23.871 [debug] QUERY OK source="settings" db=0.2ms 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 [] 02:19:23.872 [info] Sent 500 in 7ms 02:19:23.872 [debug] Converted error ArgumentError to 500 response 02:19:23.873 [error] #PID<0.3039.0> running PinchflatWeb.Endpoint (connection #PID<0.3019.0>, stream id 8) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources ** (exit) an exception was raised: ** (ArgumentError) cannot load `"video"` as type #Ecto.Enum for field :collection_type in %{} (ecto 3.12.5) lib/ecto/repo/queryable.ex:431: Ecto.Repo.Queryable.struct_load!/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:246: anonymous fn/5 in Ecto.Repo.Queryable.preprocessor/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:23: anonymous fn/3 in Ecto.Repo.Assoc.query/4 (elixir 1.18.4) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:22: Ecto.Repo.Assoc.query/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:237: Ecto.Repo.Queryable.execute/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/sources/source_live/index_table_live.ex:67: PinchflatWeb.Sources.SourceLive.IndexTableLive.set_sources/1 02:19:23.907 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "C2Y3AD4aMjdxfQVnCgB3OH0SCQ1TMiwdoRu5vpaGEM22MxEH0_qn2_K-", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:19:23.921 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:19:23.921 [debug] Replied in 253µs 02:19:24.040 [info] GET /sources 02:19:24.040 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:19:24.041 [debug] QUERY OK source="settings" db=0.4ms idle=172.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:24.042 [debug] QUERY OK source="settings" db=0.3ms idle=171.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:24.044 [debug] QUERY OK source="settings" db=0.3ms idle=172.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:24.046 [debug] QUERY OK source="settings" db=0.4ms queue=0.7ms idle=174.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:24.047 [debug] QUERY OK source="settings" db=0.7ms queue=0.4ms idle=175.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:24.050 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=6.9ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:19:24.053 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms 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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:19:24.056 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=11.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:24.057 [debug] QUERY OK source="settings" db=0.8ms idle=9.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:24.058 [debug] QUERY OK source="settings" db=0.4ms idle=9.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:24.060 [info] Sent 500 in 19ms 02:19:24.060 [debug] Converted error ArgumentError to 500 response 02:19:24.060 [error] #PID<0.3044.0> running PinchflatWeb.Endpoint (connection #PID<0.3019.0>, stream id 10) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources ** (exit) an exception was raised: ** (ArgumentError) cannot load `"video"` as type #Ecto.Enum for field :collection_type in %{} (ecto 3.12.5) lib/ecto/repo/queryable.ex:431: Ecto.Repo.Queryable.struct_load!/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:246: anonymous fn/5 in Ecto.Repo.Queryable.preprocessor/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:23: anonymous fn/3 in Ecto.Repo.Assoc.query/4 (elixir 1.18.4) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:22: Ecto.Repo.Assoc.query/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:237: Ecto.Repo.Queryable.execute/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/sources/source_live/index_table_live.ex:67: PinchflatWeb.Sources.SourceLive.IndexTableLive.set_sources/1 02:19:24.093 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "CXs1bRsJGDt8QGRiJDBKSScDDlEWAgp2mOwXScKKHpS7cHx9jNv2womF", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:19:24.107 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:19:24.107 [debug] Replied in 242µs 02:19:30.652 [info] {"args":{"force_refresh":1,"id":1},"id":3,"meta":{},"system_time":1775261970652238308,"max_attempts":20,"queue":"default","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":[]} 02:19:30.654 [debug] QUERY OK source="sources" db=1.1ms idle=1010.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:19:30.657 [info] {"error":"** (ArgumentError) cannot load `\"video\"` as type #Ecto.Enum for field :collection_type in %Pinchflat.Sources.Source{__meta__: #Ecto.Schema.Metadata<:loaded, \"sources\">, id: nil, enabled: true, uuid: nil, custom_name: nil, description: nil, collection_name: nil, collection_id: nil, collection_type: nil, index_frequency_minutes: 1440, fast_index: false, cookie_behaviour: :disabled, download_media: true, last_indexed_at: nil, download_cutoff_date: nil, retention_period_days: nil, original_url: nil, title_filter_regex: nil, output_path_template_override: nil, min_duration_seconds: nil, max_duration_seconds: nil, series_directory: nil, nfo_filepath: nil, poster_filepath: nil, fanart_filepath: nil, banner_filepath: nil, marked_for_deletion_at: nil, media_profile_id: nil, media_profile: #Ecto.Association.NotLoaded, metadata: #Ecto.Association.NotLoaded, tasks: #Ecto.Association.NotLoaded, media_items: #Ecto.Association.NotLoaded, inserted_at: nil, updated_at: nil}","args":{"force_refresh":1,"id":1},"id":3,"meta":{},"state":"failure","max_attempts":20,"queue":"default","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":2933,"event":"job:exception","queue_time":32370,"attempt":2,"tags":[]} 02:19:34.126 [info] GET /sources 02:19:34.126 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:19:34.127 [debug] QUERY OK source="settings" db=0.3ms idle=1485.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.128 [debug] QUERY OK source="settings" db=0.3ms idle=1486.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.129 [debug] QUERY OK source="settings" db=0.3ms idle=1487.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.131 [debug] QUERY OK source="settings" db=0.2ms idle=1481.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.131 [debug] QUERY OK source="settings" db=0.3ms idle=480.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.133 [debug] QUERY OK source="sources" db=1.1ms idle=4.9ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:19:34.137 [debug] QUERY OK source="sources" db=2.5ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:19:34.139 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:34.139 [debug] QUERY OK source="settings" db=0.2ms 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 [] 02:19:34.140 [debug] QUERY OK source="settings" db=0.2ms 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 [] 02:19:34.142 [info] Sent 500 in 16ms 02:19:34.142 [debug] Converted error ArgumentError to 500 response 02:19:34.143 [error] #PID<0.3053.0> running PinchflatWeb.Endpoint (connection #PID<0.3052.0>, stream id 1) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources ** (exit) an exception was raised: ** (ArgumentError) cannot load `"video"` as type #Ecto.Enum for field :collection_type in %{} (ecto 3.12.5) lib/ecto/repo/queryable.ex:431: Ecto.Repo.Queryable.struct_load!/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:246: anonymous fn/5 in Ecto.Repo.Queryable.preprocessor/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:23: anonymous fn/3 in Ecto.Repo.Assoc.query/4 (elixir 1.18.4) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:22: Ecto.Repo.Assoc.query/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:237: Ecto.Repo.Queryable.execute/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/sources/source_live/index_table_live.ex:67: PinchflatWeb.Sources.SourceLive.IndexTableLive.set_sources/1 02:19:34.186 [info] CONNECTED TO Phoenix.LiveView.Socket in 48µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "D1MsRg8IJSlnAQIzPgkLGDsZPQwUDiVfkgnsGbvYS15fyq9hvTEoucBo", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:19:34.204 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:19:34.204 [debug] Replied in 219µs 02:19:34.440 [info] GET /sources 02:19:34.440 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:19:34.441 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=307.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.442 [debug] QUERY OK source="settings" db=0.2ms idle=304.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.443 [debug] QUERY OK source="settings" db=0.2ms idle=303.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.445 [debug] QUERY OK source="settings" db=0.6ms idle=304.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.445 [debug] QUERY OK source="settings" db=0.4ms idle=304.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.447 [debug] QUERY OK source="sources" db=1.1ms idle=4.9ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:19:34.451 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms 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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:19:34.453 [debug] QUERY OK source="settings" db=0.1ms idle=9.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:34.453 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:34.454 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:34.458 [info] Sent 500 in 17ms 02:19:34.458 [debug] Converted error ArgumentError to 500 response 02:19:34.458 [error] #PID<0.3058.0> running PinchflatWeb.Endpoint (connection #PID<0.3052.0>, stream id 3) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources ** (exit) an exception was raised: ** (ArgumentError) cannot load `"video"` as type #Ecto.Enum for field :collection_type in %{} (ecto 3.12.5) lib/ecto/repo/queryable.ex:431: Ecto.Repo.Queryable.struct_load!/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:246: anonymous fn/5 in Ecto.Repo.Queryable.preprocessor/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:23: anonymous fn/3 in Ecto.Repo.Assoc.query/4 (elixir 1.18.4) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:22: Ecto.Repo.Assoc.query/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:237: Ecto.Repo.Queryable.execute/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/sources/source_live/index_table_live.ex:67: PinchflatWeb.Sources.SourceLive.IndexTableLive.set_sources/1 02:19:34.491 [info] CONNECTED TO Phoenix.LiveView.Socket in 69µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "A1ctdA4LPTh6V30wIStFRjg5DBkkHVZogcoAFanHNgJefSw6uttzEp1X", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:19:34.507 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:19:34.507 [debug] Replied in 218µs 02:19:34.688 [info] GET /sources 02:19:34.688 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:19:34.689 [debug] QUERY OK source="settings" db=0.6ms idle=237.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:34.690 [debug] QUERY OK source="settings" db=0.5ms idle=236.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.691 [debug] QUERY OK source="settings" db=0.6ms idle=237.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:34.693 [debug] QUERY OK source="settings" db=0.6ms idle=238.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.694 [debug] QUERY OK source="settings" db=0.6ms idle=40.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.696 [debug] QUERY OK source="sources" db=1.0ms idle=5.9ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:19:34.700 [debug] QUERY OK source="sources" db=3.0ms queue=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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:19:34.702 [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 [] 02:19:34.702 [debug] QUERY OK source="settings" db=0.2ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:34.704 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:34.706 [info] Sent 500 in 18ms 02:19:34.707 [debug] Converted error ArgumentError to 500 response 02:19:34.707 [error] #PID<0.3063.0> running PinchflatWeb.Endpoint (connection #PID<0.3052.0>, stream id 5) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources ** (exit) an exception was raised: ** (ArgumentError) cannot load `"video"` as type #Ecto.Enum for field :collection_type in %{} (ecto 3.12.5) lib/ecto/repo/queryable.ex:431: Ecto.Repo.Queryable.struct_load!/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:246: anonymous fn/5 in Ecto.Repo.Queryable.preprocessor/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:23: anonymous fn/3 in Ecto.Repo.Assoc.query/4 (elixir 1.18.4) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:22: Ecto.Repo.Assoc.query/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:237: Ecto.Repo.Queryable.execute/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/sources/source_live/index_table_live.ex:67: PinchflatWeb.Sources.SourceLive.IndexTableLive.set_sources/1 02:19:34.738 [info] CONNECTED TO Phoenix.LiveView.Socket in 46µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "UFkofwEgJEl-Z2YlDFVRLyh1LC1QHCFH4mjJIJw9JWQpK-c_e8TN1qFw", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:19:34.754 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:19:34.754 [debug] Replied in 209µs 02:19:34.846 [info] GET /sources 02:19:34.846 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:19:34.847 [debug] QUERY OK source="settings" db=0.2ms idle=150.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.848 [debug] QUERY OK source="settings" db=0.2ms idle=147.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.849 [debug] QUERY OK source="settings" db=0.4ms idle=146.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.850 [debug] QUERY OK source="settings" db=0.2ms idle=147.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:34.851 [debug] QUERY OK source="settings" db=0.5ms 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 [] 02:19:34.853 [debug] QUERY OK source="sources" db=1.2ms idle=4.7ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:19:34.857 [debug] QUERY OK source="sources" db=2.5ms 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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:19:34.858 [debug] QUERY OK source="settings" db=0.1ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:34.858 [debug] QUERY OK source="settings" db=0.1ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:34.859 [debug] QUERY OK source="settings" db=0.1ms idle=7.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:34.861 [info] Sent 500 in 14ms 02:19:34.861 [debug] Converted error ArgumentError to 500 response 02:19:34.861 [error] #PID<0.3068.0> running PinchflatWeb.Endpoint (connection #PID<0.3052.0>, stream id 7) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources ** (exit) an exception was raised: ** (ArgumentError) cannot load `"video"` as type #Ecto.Enum for field :collection_type in %{} (ecto 3.12.5) lib/ecto/repo/queryable.ex:431: Ecto.Repo.Queryable.struct_load!/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:246: anonymous fn/5 in Ecto.Repo.Queryable.preprocessor/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:23: anonymous fn/3 in Ecto.Repo.Assoc.query/4 (elixir 1.18.4) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:22: Ecto.Repo.Assoc.query/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:237: Ecto.Repo.Queryable.execute/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/sources/source_live/index_table_live.ex:67: PinchflatWeb.Sources.SourceLive.IndexTableLive.set_sources/1 02:19:34.892 [info] CONNECTED TO Phoenix.LiveView.Socket in 47µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "IlAgAwoIYBFTRFxmLCtzM3oqPVEvGTdnFdb6Bb3agtk3kSAC7gE2NtPW", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:19:34.907 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:19:34.907 [debug] Replied in 218µs 02:19:35.019 [info] GET /sources 02:19:35.020 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:19:35.020 [debug] QUERY OK source="settings" db=0.2ms idle=166.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:35.021 [debug] QUERY OK source="settings" db=0.3ms idle=164.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:35.022 [debug] QUERY OK source="settings" db=0.3ms idle=163.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:35.023 [debug] QUERY OK source="settings" db=0.2ms idle=165.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:35.024 [debug] QUERY OK source="settings" db=0.4ms idle=165.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:35.026 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=4.5ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:19:35.029 [debug] QUERY OK source="sources" db=2.1ms queue=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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:19:35.031 [debug] QUERY OK source="settings" db=0.7ms 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:19:35.031 [debug] QUERY OK source="settings" db=0.4ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:35.032 [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 [] 02:19:35.034 [info] Sent 500 in 14ms 02:19:35.034 [debug] Converted error ArgumentError to 500 response 02:19:35.034 [error] #PID<0.3073.0> running PinchflatWeb.Endpoint (connection #PID<0.3052.0>, stream id 9) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources ** (exit) an exception was raised: ** (ArgumentError) cannot load `"video"` as type #Ecto.Enum for field :collection_type in %{} (ecto 3.12.5) lib/ecto/repo/queryable.ex:431: Ecto.Repo.Queryable.struct_load!/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:246: anonymous fn/5 in Ecto.Repo.Queryable.preprocessor/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:23: anonymous fn/3 in Ecto.Repo.Assoc.query/4 (elixir 1.18.4) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:22: Ecto.Repo.Assoc.query/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:237: Ecto.Repo.Queryable.execute/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/sources/source_live/index_table_live.ex:67: PinchflatWeb.Sources.SourceLive.IndexTableLive.set_sources/1 02:19:35.067 [info] CONNECTED TO Phoenix.LiveView.Socket in 45µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "MAcETyYtKjldaHY9JC5DOCE0NQ8qJB54T3FznGyIiXAhcVqHlyMlKIyH", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:19:35.079 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:19:35.079 [debug] Replied in 217µs 02:19:35.199 [info] GET /sources 02:19:35.199 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:19:35.200 [debug] QUERY OK source="settings" db=0.3ms idle=173.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:35.200 [debug] QUERY OK source="settings" db=0.3ms idle=170.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:35.202 [debug] QUERY OK source="settings" db=0.6ms idle=170.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:35.203 [debug] QUERY OK source="settings" db=0.2ms idle=171.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:35.203 [debug] QUERY OK source="settings" db=0.3ms idle=171.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:35.205 [debug] QUERY OK source="sources" db=1.0ms idle=4.5ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:19:35.208 [debug] QUERY OK source="sources" db=2.0ms 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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:19:35.210 [debug] QUERY OK source="settings" db=0.3ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:35.211 [debug] QUERY OK source="settings" db=0.1ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:35.211 [debug] QUERY OK source="settings" db=0.2ms 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:19:35.213 [info] Sent 500 in 14ms 02:19:35.213 [debug] Converted error ArgumentError to 500 response 02:19:35.214 [error] #PID<0.3078.0> running PinchflatWeb.Endpoint (connection #PID<0.3052.0>, stream id 11) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources ** (exit) an exception was raised: ** (ArgumentError) cannot load `"video"` as type #Ecto.Enum for field :collection_type in %{} (ecto 3.12.5) lib/ecto/repo/queryable.ex:431: Ecto.Repo.Queryable.struct_load!/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:246: anonymous fn/5 in Ecto.Repo.Queryable.preprocessor/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:23: anonymous fn/3 in Ecto.Repo.Assoc.query/4 (elixir 1.18.4) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3 (ecto 3.12.5) lib/ecto/repo/assoc.ex:22: Ecto.Repo.Assoc.query/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:237: Ecto.Repo.Queryable.execute/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/sources/source_live/index_table_live.ex:67: PinchflatWeb.Sources.SourceLive.IndexTableLive.set_sources/1 02:19:35.244 [info] CONNECTED TO Phoenix.LiveView.Socket in 44µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "BwARVw4MYCFZRGQ4N0tISA4ONyIGXRIDc4SbFf3QmtSmp3z8CCOAg0u3", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:19:35.254 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:19:35.254 [debug] Replied in 225µs 02:19:36.738 [info] GET /media_profiles 02:19:36.738 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 02:19:36.740 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=97.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 02:19:36.741 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=98.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:36.742 [debug] QUERY OK source="settings" db=0.5ms idle=99.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:36.743 [debug] QUERY OK source="settings" db=0.2ms idle=101.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:36.745 [info] Sent 200 in 6ms 02:19:36.780 [info] CONNECTED TO Phoenix.LiveView.Socket in 45µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AnZzBTwBBh8CAmIKCEhcJicaOlYkBjUIfB10tkUo62U_O0nVjWB5EkR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:19:36.792 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:19:36.792 [debug] Replied in 193µs 02:19:40.380 [info] GET /media_profiles/1 02:19:40.381 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 02:19:40.382 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1739.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:40.383 [debug] QUERY OK source="sources" db=0.4ms queue=0.7ms idle=1740.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 02:19:40.386 [debug] QUERY OK source="settings" db=0.6ms idle=1744.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:40.387 [debug] QUERY OK source="settings" db=0.2ms idle=1724.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:40.388 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=723.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:40.392 [info] Sent 500 in 11ms 02:19:40.392 [debug] Converted error ArgumentError to 500 response 02:19:40.393 [error] #PID<0.3087.0> running PinchflatWeb.Endpoint (connection #PID<0.3052.0>, stream id 14) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /media_profiles/1 ** (exit) an exception was raised: ** (ArgumentError) cannot load `"video"` as type #Ecto.Enum for field :collection_type in %Pinchflat.Sources.Source{__meta__: #Ecto.Schema.Metadata<:loaded, "sources">, id: nil, enabled: true, uuid: nil, custom_name: nil, description: nil, collection_name: nil, collection_id: nil, collection_type: nil, index_frequency_minutes: 1440, fast_index: false, cookie_behaviour: :disabled, download_media: true, last_indexed_at: nil, download_cutoff_date: nil, retention_period_days: nil, original_url: nil, title_filter_regex: nil, output_path_template_override: nil, min_duration_seconds: nil, max_duration_seconds: nil, series_directory: nil, nfo_filepath: nil, poster_filepath: nil, fanart_filepath: nil, banner_filepath: nil, marked_for_deletion_at: nil, media_profile_id: nil, media_profile: #Ecto.Association.NotLoaded, metadata: #Ecto.Association.NotLoaded, tasks: #Ecto.Association.NotLoaded, media_items: #Ecto.Association.NotLoaded, inserted_at: nil, updated_at: nil} (ecto 3.12.5) lib/ecto/repo/queryable.ex:431: Ecto.Repo.Queryable.struct_load!/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:246: anonymous fn/5 in Ecto.Repo.Queryable.preprocessor/3 (elixir 1.18.4) lib/enum.ex:1714: Enum."-map/2-lists^map/1-1-"/2 (ecto 3.12.5) lib/ecto/repo/queryable.ex:237: Ecto.Repo.Queryable.execute/4 (ecto 3.12.5) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/media_profiles/media_profile_controller.ex:73: PinchflatWeb.MediaProfiles.MediaProfileController.show/2 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/media_profiles/media_profile_controller.ex:1: PinchflatWeb.MediaProfiles.MediaProfileController.action/2 (pinchflat 2025.9.26) lib/pinchflat_web/controllers/media_profiles/media_profile_controller.ex:1: PinchflatWeb.MediaProfiles.MediaProfileController.phoenix_controller_pipeline/2 02:19:40.427 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Fn0rfA9eMhlRVHAUDgJZAScJThcVDDJ-rIiIG4aiedGAIzkqjD6ttaUN", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:19:40.445 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:19:40.445 [debug] Replied in 217µs 02:19:50.417 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:50.695 [info] {"args":{"force_refresh":1,"id":1},"id":3,"meta":{},"system_time":1775261990695594573,"max_attempts":20,"queue":"default","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":[]} 02:19:50.696 [debug] QUERY OK source="sources" db=0.4ms idle=1054.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:19:50.699 [info] {"error":"** (ArgumentError) cannot load `\"video\"` as type #Ecto.Enum for field :collection_type in %Pinchflat.Sources.Source{__meta__: #Ecto.Schema.Metadata<:loaded, \"sources\">, id: nil, enabled: true, uuid: nil, custom_name: nil, description: nil, collection_name: nil, collection_id: nil, collection_type: nil, index_frequency_minutes: 1440, fast_index: false, cookie_behaviour: :disabled, download_media: true, last_indexed_at: nil, download_cutoff_date: nil, retention_period_days: nil, original_url: nil, title_filter_regex: nil, output_path_template_override: nil, min_duration_seconds: nil, max_duration_seconds: nil, series_directory: nil, nfo_filepath: nil, poster_filepath: nil, fanart_filepath: nil, banner_filepath: nil, marked_for_deletion_at: nil, media_profile_id: nil, media_profile: #Ecto.Association.NotLoaded, metadata: #Ecto.Association.NotLoaded, tasks: #Ecto.Association.NotLoaded, media_items: #Ecto.Association.NotLoaded, inserted_at: nil, updated_at: nil}","args":{"force_refresh":1,"id":1},"id":3,"meta":{},"state":"failure","max_attempts":20,"queue":"default","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":1633,"event":"job:exception","queue_time":36769,"attempt":3,"tags":[]} 02:20:00.362 [info] {"source":"oban","duration":498,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:20:02.724 [info] {"args":{"force_refresh":1,"id":1},"id":4,"meta":{},"system_time":1775262002724207470,"max_attempts":20,"queue":"default","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":[]} 02:20:02.725 [debug] QUERY OK source="sources" db=0.8ms idle=83.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:20:02.726 [debug] QUERY OK source="settings" db=0.4ms idle=84.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:02.728 [debug] QUERY OK source="media_items" db=0.4ms queue=0.5ms idle=85.4ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 02:20:02.728 [debug] QUERY OK source="media_items" db=0.1ms queue=0.1ms idle=12.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 02:20:02.730 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.4ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:02.731 [debug] QUERY OK source="settings" db=0.6ms 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:20:02.732 [debug] QUERY OK source="settings" db=0.5ms 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:20:02.733 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 02:20:02.733 [debug] Current batch of media processed. Will check again in 1000ms 02:20:02.733 [debug] QUERY OK source="settings" db=0.4ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:02.734 [debug] QUERY OK source="settings" db=0.2ms 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:20:02.734 [debug] QUERY OK source="settings" db=0.2ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:02.735 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JRIk3EslWJM --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Programy naukowe/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/08/46/08461db1e127ef29118b485cbc6166204f71374d157427dbfe9d8ea7d079f186.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:20:03.734 [debug] Current batch of media processed. Will check again in 1000ms 02:20:04.735 [debug] Current batch of media processed. Will check again in 1000ms 02:20:05.736 [debug] Current batch of media processed. Will check again in 1000ms 02:20:06.738 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "▶ Zobacz również: https://youtu.be/lli-YKtBqSI\n▶ Subskrybuj: https://www.youtube.com/c/ngcpl?sub_confirmation=1\n▶ Daty emisji i powtórek znajdziesz na stronie https://www.natgeotv.com/pl\n▶ Obserwuj nas na Instagramie: https://www.instagram.com/nationalgeographicwildpl/\n▶ Dołącz do nas na Facebooku: https://www.facebook.com/ngcpl\n\nBłąd ludzki? Niesprawna maszyna? Awaria? Uszkodzona część? Zaniedbania? A może kilka czynników, które wystąpiły jednocześnie i doprowadziły do katastrofy? Kiedy samolot znika z radarów, wpatruje się w nie cały świat. Kiedy okazuje się, że maszyna się rozbiła – wszyscy zadają sobie jedno pytanie: jak to się stało? Prześledźcie z nami działania ekspertów, którzy w serii “Katastrofa w przestworzach” postarają się rozwikłać zagadki najbardziej tragicznych zdarzeń na rynku lotniczym. Raport specjalny w każdym z odcinków przedstawi katastrofy lotnicze. Pokażą one historie samolotów pasażerskich skazanych na katastrofę. Piloci będą robić wszystko, by uchronić maszynę przed rozbiciem. W takiej sytuacji nie będą mieli możliwości popełnienia nawet najmniejszego błędu.\n\n#nationalgeographic #natgeopl #katastrofawprzestworzach", "duration" => 2462, "filename" => "/downloads/Programy naukowe/2024-12-27 To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach/To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach [JRIk3EslWJM].mp4", "id" => "JRIk3EslWJM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JRIk3EslWJM", "timestamp" => 1735326017, "title" => "To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach", "upload_date" => "20241227"} 02:20:06.738 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JRIk3EslWJM --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Programy naukowe/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/08/46/08461db1e127ef29118b485cbc6166204f71374d157427dbfe9d8ea7d079f186.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:20:06.739 [debug] QUERY OK source="sources" db=0.7ms idle=97.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 02:20:06.739 [debug] QUERY OK source="sources" db=0.9ms 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" IN (?)) [1] 02:20:06.740 [debug] QUERY OK source="sources" db=0.3ms idle=98.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:20:06.741 [debug] QUERY OK source="sources" db=1.3ms idle=98.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:20:06.742 [debug] QUERY OK source="media_items" db=1.1ms queue=0.9ms idle=16.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-27 19:00:17Z], 1] 02:20:06.743 [debug] QUERY OK source="media_items" db=0.5ms queue=0.6ms idle=2.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-27 19:00:17Z], 1] 02:20:06.751 [debug] QUERY OK source="media_items" db=7.7ms queue=0.3ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["▶ Zobacz również: https://youtu.be/lli-YKtBqSI\n▶ Subskrybuj: https://www.youtube.com/c/ngcpl?sub_confirmation=1\n▶ Daty emisji i powtórek znajdziesz na stronie https://www.natgeotv.com/pl\n▶ Obserwuj nas na Instagramie: https://www.instagram.com/nationalgeographicwildpl/\n▶ Dołącz do nas na Facebooku: https://www.facebook.com/ngcpl\n\nBłąd ludzki? Niesprawna maszyna? Awaria? Uszkodzona część? Zaniedbania? A może kilka czynników, które wystąpiły jednocześnie i doprowadziły do katastrofy? Kiedy samolot znika z radarów, wpatruje się w nie cały świat. Kiedy okazuje się, że maszyna się rozbiła – wszyscy zadają sobie jedno pytanie: jak to się stało? Prześledźcie z nami działania ekspertów, którzy w serii “Katastrofa w przestworzach” postarają się rozwikłać zagadki najbardziej tragicznych zdarzeń na rynku lotniczym. Raport specjalny w każdym z odcinków przedstawi katastrofy lotnicze. Pokażą one historie samolotów pasażerskich skazanych na katastrofę. Piloci będą robić wszystko, by uchronić maszynę przed rozbiciem. W takiej sytuacji nie będą mieli możliwości popełnienia nawet najmniejszego błędu.\n\n#nationalgeographic #natgeopl #katastrofawprzestworzach", "To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach", "f410e0f7-640a-4b56-b224-25bf334d4eea", "JRIk3EslWJM", 2462, false, "https://www.youtube.com/watch?v=JRIk3EslWJM", 0, "/downloads/Programy naukowe/2024-12-27 To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach/To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach [JRIk3EslWJM].mp4", false, false, false, 1, [], 0, ~U[2024-12-27 19:00:17Z], ~U[2026-04-04 00:20:06Z], ~U[2026-04-04 00:20:06Z], "▶ Zobacz również: https://youtu.be/lli-YKtBqSI\n▶ Subskrybuj: https://www.youtube.com/c/ngcpl?sub_confirmation=1\n▶ Daty emisji i powtórek znajdziesz na stronie https://www.natgeotv.com/pl\n▶ Obserwuj nas na Instagramie: https://www.instagram.com/nationalgeographicwildpl/\n▶ Dołącz do nas na Facebooku: https://www.facebook.com/ngcpl\n\nBłąd ludzki? Niesprawna maszyna? Awaria? Uszkodzona część? Zaniedbania? A może kilka czynników, które wystąpiły jednocześnie i doprowadziły do katastrofy? Kiedy samolot znika z radarów, wpatruje się w nie cały świat. Kiedy okazuje się, że maszyna się rozbiła – wszyscy zadają sobie jedno pytanie: jak to się stało? Prześledźcie z nami działania ekspertów, którzy w serii “Katastrofa w przestworzach” postarają się rozwikłać zagadki najbardziej tragicznych zdarzeń na rynku lotniczym. Raport specjalny w każdym z odcinków przedstawi katastrofy lotnicze. Pokażą one historie samolotów pasażerskich skazanych na katastrofę. Piloci będą robić wszystko, by uchronić maszynę przed rozbiciem. W takiej sytuacji nie będą mieli możliwości popełnienia nawet najmniejszego błędu.\n\n#nationalgeographic #natgeopl #katastrofawprzestworzach", "To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach", "JRIk3EslWJM", 2462, false, "https://www.youtube.com/watch?v=JRIk3EslWJM", "/downloads/Programy naukowe/2024-12-27 To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach/To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach [JRIk3EslWJM].mp4", false, 1, ~U[2024-12-27 19:00:17Z]] 02:20:06.752 [debug] QUERY OK source="sources" db=0.2ms queue=0.3ms idle=10.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:20:06.752 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:06.754 [debug] QUERY OK source="media_items" db=0.5ms queue=0.5ms 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 [1] 02:20:06.754 [info] Kicking off download for media item #1 (JRIk3EslWJM) 02:20:06.755 [debug] QUERY OK source="media_items" db=12.5ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["▶ Zobacz również: https://youtu.be/lli-YKtBqSI\n▶ Subskrybuj: https://www.youtube.com/c/ngcpl?sub_confirmation=1\n▶ Daty emisji i powtórek znajdziesz na stronie https://www.natgeotv.com/pl\n▶ Obserwuj nas na Instagramie: https://www.instagram.com/nationalgeographicwildpl/\n▶ Dołącz do nas na Facebooku: https://www.facebook.com/ngcpl\n\nBłąd ludzki? Niesprawna maszyna? Awaria? Uszkodzona część? Zaniedbania? A może kilka czynników, które wystąpiły jednocześnie i doprowadziły do katastrofy? Kiedy samolot znika z radarów, wpatruje się w nie cały świat. Kiedy okazuje się, że maszyna się rozbiła – wszyscy zadają sobie jedno pytanie: jak to się stało? Prześledźcie z nami działania ekspertów, którzy w serii “Katastrofa w przestworzach” postarają się rozwikłać zagadki najbardziej tragicznych zdarzeń na rynku lotniczym. Raport specjalny w każdym z odcinków przedstawi katastrofy lotnicze. Pokażą one historie samolotów pasażerskich skazanych na katastrofę. Piloci będą robić wszystko, by uchronić maszynę przed rozbiciem. W takiej sytuacji nie będą mieli możliwości popełnienia nawet najmniejszego błędu.\n\n#nationalgeographic #natgeopl #katastrofawprzestworzach", "To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach", "6184e825-4c1c-492a-b141-d4587e1429f9", "JRIk3EslWJM", 2462, false, "https://www.youtube.com/watch?v=JRIk3EslWJM", 0, "/downloads/Programy naukowe/2024-12-27 To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach/To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach [JRIk3EslWJM].mp4", false, false, false, 1, [], 0, ~U[2024-12-27 19:00:17Z], ~U[2026-04-04 00:20:06Z], ~U[2026-04-04 00:20:06Z], "▶ Zobacz również: https://youtu.be/lli-YKtBqSI\n▶ Subskrybuj: https://www.youtube.com/c/ngcpl?sub_confirmation=1\n▶ Daty emisji i powtórek znajdziesz na stronie https://www.natgeotv.com/pl\n▶ Obserwuj nas na Instagramie: https://www.instagram.com/nationalgeographicwildpl/\n▶ Dołącz do nas na Facebooku: https://www.facebook.com/ngcpl\n\nBłąd ludzki? Niesprawna maszyna? Awaria? Uszkodzona część? Zaniedbania? A może kilka czynników, które wystąpiły jednocześnie i doprowadziły do katastrofy? Kiedy samolot znika z radarów, wpatruje się w nie cały świat. Kiedy okazuje się, że maszyna się rozbiła – wszyscy zadają sobie jedno pytanie: jak to się stało? Prześledźcie z nami działania ekspertów, którzy w serii “Katastrofa w przestworzach” postarają się rozwikłać zagadki najbardziej tragicznych zdarzeń na rynku lotniczym. Raport specjalny w każdym z odcinków przedstawi katastrofy lotnicze. Pokażą one historie samolotów pasażerskich skazanych na katastrofę. Piloci będą robić wszystko, by uchronić maszynę przed rozbiciem. W takiej sytuacji nie będą mieli możliwości popełnienia nawet najmniejszego błędu.\n\n#nationalgeographic #natgeopl #katastrofawprzestworzach", "To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach", "JRIk3EslWJM", 2462, false, "https://www.youtube.com/watch?v=JRIk3EslWJM", "/downloads/Programy naukowe/2024-12-27 To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach/To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach [JRIk3EslWJM].mp4", false, 1, ~U[2024-12-27 19:00:17Z]] 02:20:06.756 [debug] QUERY OK source="sources" db=0.6ms idle=3.4ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-04 00:20:06Z], ~U[2026-04-04 00:20:06Z], 1] 02:20:06.760 [debug] QUERY OK source="tasks" db=2.2ms idle=2.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [5, 1, ~U[2026-04-04 00:20:06Z], ~U[2026-04-04 00:20:06Z]] 02:20:06.760 [debug] Gracefully stopping file follower 02:20:06.760 [debug] QUERY OK source="media_items" db=1.6ms queue=1.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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 02:20:06.762 [debug] QUERY OK source="media_items" db=0.8ms idle=5.0ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 02:20:06.763 [debug] QUERY OK source="media_items" db=0.2ms idle=5.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 02:20:06.763 [info] No notification servers provided for source 1 02:20:06.764 [info] {"args":{"force_refresh":1,"id":1},"id":4,"meta":{},"state":"success","max_attempts":20,"queue":"default","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":4039077,"event":"job:stop","queue_time":1722418,"attempt":1,"tags":[]} 02:20:06.764 [info] {"args":{"id":1},"id":5,"meta":{},"system_time":1775262006764252633,"max_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:20:06.765 [debug] QUERY OK source="media_items" db=0.2ms queue=0.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."id" = ?) [1] 02:20:06.765 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:20:06.765 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:20:06.765 [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] 02:20:06.766 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1] 02:20:06.767 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [1] 02:20:06.767 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:06.768 [debug] QUERY OK source="settings" db=0.4ms 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:20:06.768 [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 [] 02:20:06.769 [debug] Running yt-dlp command for action: get_downloadable_status 02:20:06.770 [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 [] 02:20:06.770 [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 [] 02:20:06.771 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 02:20:06.771 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JRIk3EslWJM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2e/c5/2ec505e90e39271fbfd4cad08be172fb6ed83796247aaf5189455c926269a170.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:20:10.616 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JRIk3EslWJM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2e/c5/2ec505e90e39271fbfd4cad08be172fb6ed83796247aaf5189455c926269a170.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:20:10.617 [debug] Running yt-dlp command for action: download 02:20:10.618 [debug] QUERY OK source="settings" db=0.8ms idle=1975.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:10.619 [debug] QUERY OK source="settings" db=0.5ms idle=1976.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:10.619 [debug] QUERY OK source="settings" db=0.5ms idle=1977.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:10.620 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JRIk3EslWJM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/Programy naukowe/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/98/3e/983e5475cb37ddc01845a612645dcb48b49659974956ffb8e0f9a77414106530.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:20:14.266 [info] GET /media_profiles/1 02:20:14.267 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 02:20:14.268 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1520.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:14.269 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=626.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 02:20:14.270 [debug] QUERY OK source="settings" db=0.2ms idle=628.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:14.271 [debug] QUERY OK source="settings" db=0.2ms idle=628.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:14.272 [debug] QUERY OK source="settings" db=0.2ms idle=514.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:14.276 [info] Sent 200 in 10ms 02:20:14.313 [info] CONNECTED TO Phoenix.LiveView.Socket in 68µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "FkYNTRkbZBZ9BARkNDRkFQkKHi8lCAUErrOxQq7fI431sLVeDGfLDeb4", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:20:14.329 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:14.330 [debug] Replied in 202µs 02:20:15.772 [info] GET /media_profiles/1 02:20:15.773 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 02:20:15.774 [debug] QUERY OK source="media_profiles" db=0.4ms idle=132.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 02:20:15.775 [debug] QUERY OK source="sources" db=0.5ms idle=132.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 02:20:15.776 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=134.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:15.777 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=135.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:15.779 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=16.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:15.782 [info] Sent 200 in 9ms 02:20:15.822 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Blt2fg49NwFCQWUidxJnNgcXITo3Kz1Cbo4KFWdqvqRw0jUFJZYYVFZr", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:20:15.835 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:15.835 [debug] Replied in 112µs 02:20:16.096 [info] GET /media_profiles/1 02:20:16.096 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 02:20:16.098 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.1ms idle=322.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:16.099 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=323.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 02:20:16.101 [debug] QUERY OK source="settings" db=0.8ms idle=323.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:16.101 [debug] QUERY OK source="settings" db=0.6ms 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 [] 02:20:16.103 [debug] QUERY OK source="settings" db=0.4ms idle=323.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:16.104 [info] Sent 200 in 8ms 02:20:16.142 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DHsKYA84JhsBWXA6Fj1jGwkBHAYnPAQJhOHUGRuk5iGoQEQkDLdeFQc9", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:20:16.158 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:16.158 [debug] Replied in 194µs 02:20:16.259 [info] GET /media_profiles/1 02:20:16.259 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 02:20:16.260 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=161.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:16.263 [debug] QUERY OK source="sources" db=2.4ms idle=161.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 02:20:16.264 [debug] QUERY OK source="settings" db=0.4ms 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 [] 02:20:16.265 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=163.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:16.266 [debug] QUERY OK source="settings" db=0.4ms 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 [] 02:20:16.269 [info] Sent 200 in 10ms 02:20:16.300 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "O3kWZhA_JD1rYGQ2HTN7EhV6TRYGAR5A_MTSXUwM_PScZKIbX75uglyp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:20:16.312 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:16.312 [debug] Replied in 205µs 02:20:17.666 [info] GET / 02:20:17.666 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:20:17.667 [debug] QUERY OK source="settings" db=0.5ms idle=902.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:17.668 [debug] QUERY OK source="media_profiles" db=0.3ms idle=26.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:20:17.669 [debug] QUERY OK source="sources" db=0.3ms idle=26.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:20:17.670 [debug] QUERY OK source="media_items" db=0.6ms idle=27.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:17.671 [debug] QUERY OK source="media_items" db=0.8ms idle=28.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:17.672 [debug] QUERY OK source="settings" db=0.5ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:17.673 [debug] QUERY OK source="settings" db=0.9ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:17.675 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:17.677 [debug] QUERY OK source="tasks" db=0.7ms idle=6.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:20:17.678 [debug] QUERY OK source="media_items" db=0.3ms queue=0.2ms idle=6.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 02:20:17.679 [debug] QUERY OK source="media_items" db=0.3ms idle=6.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:17.680 [debug] QUERY OK source="media_items" db=0.6ms idle=6.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:20:17.682 [debug] QUERY OK source="media_items" db=0.9ms 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"))) [] 02:20:17.684 [debug] QUERY OK source="media_items" db=1.7ms idle=5.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:20:17.685 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:20:17.686 [info] Sent 200 in 19ms 02:20:17.718 [info] CONNECTED TO Phoenix.LiveView.Socket in 46µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "M2R2byNTOwdZdW8cEidBN3wKLhYpNFEBWP4Zk9hwmEXIU_sG1GVuHY61", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:20:17.733 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:20:17.734 [debug] QUERY OK source="media_items" db=0.3ms idle=53.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:17.735 [debug] QUERY OK source="media_items" db=1.4ms idle=53.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:20:17.736 [debug] Replied in 2ms 02:20:17.737 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:20:17.738 [debug] QUERY OK source="media_items" db=0.9ms idle=55.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"))) [] 02:20:17.740 [debug] QUERY OK source="media_items" db=1.9ms idle=54.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:20:17.741 [debug] QUERY OK source="sources" db=0.6ms idle=56.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:20:17.742 [debug] Replied in 5ms 02:20:17.744 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:17.746 [debug] QUERY OK source="tasks" db=0.6ms idle=11.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:20:17.746 [debug] QUERY OK source="media_items" db=0.6ms idle=10.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 02:20:17.746 [debug] Replied in 2ms 02:20:17.747 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:17.747 [debug] Replied in 108µs 02:20:20.420 [info] {"source":"oban","duration":1211,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:24.277 [info] GET /sources 02:20:24.277 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:20:24.279 [debug] QUERY OK source="settings" db=0.6ms idle=636.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:24.279 [debug] QUERY OK source="settings" db=0.3ms idle=637.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:24.281 [debug] QUERY OK source="settings" db=0.2ms idle=639.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:24.283 [debug] QUERY OK source="settings" db=0.7ms idle=640.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:24.284 [debug] QUERY OK source="settings" db=0.5ms idle=502.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:24.287 [debug] QUERY OK source="sources" db=1.3ms queue=0.2ms idle=6.3ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:20:24.289 [debug] QUERY OK source="sources" db=1.6ms idle=7.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:20:24.292 [info] Sent 200 in 15ms 02:20:24.329 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "IV8nRhwiYAhzQw9sDBlAGHkrPFE3GQZiEkesTH3xGs89Karh4fD2VtaR", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:20:24.341 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 02:20:24.342 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=60.6ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:20:24.346 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms 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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:20:24.346 [debug] Replied in 5ms 02:20:24.349 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:24.349 [debug] Replied in 220µs 02:20:29.165 [info] GET / 02:20:29.165 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:20:29.167 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1524.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:29.168 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=1525.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:20:29.170 [debug] QUERY OK source="sources" db=1.2ms idle=1527.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:20:29.170 [debug] QUERY OK source="media_items" db=0.1ms idle=1379.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:29.170 [debug] QUERY OK source="media_items" db=0.1ms idle=377.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:29.171 [debug] QUERY OK source="settings" db=0.3ms 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:20:29.172 [debug] QUERY OK source="settings" db=1.1ms queue=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:29.174 [debug] QUERY OK source="settings" db=0.4ms 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:20:29.177 [debug] QUERY OK source="tasks" db=1.0ms queue=0.3ms idle=5.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"] 02:20:29.179 [debug] QUERY OK source="media_items" db=0.4ms queue=0.8ms idle=7.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 02:20:29.180 [debug] QUERY OK source="media_items" db=0.4ms idle=8.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:29.181 [debug] QUERY OK source="media_items" db=0.3ms idle=8.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:20:29.183 [debug] QUERY OK source="media_items" db=0.2ms idle=8.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:20:29.184 [debug] QUERY OK source="media_items" db=0.9ms idle=5.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:20:29.184 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:20:29.186 [info] Sent 200 in 21ms 02:20:29.220 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "K191BS49CzUCV0EHCTlfPQ8pFxo2IjB0Ok70fWXE6gvRNAmMBdoyWOWD", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:20:29.231 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:20:29.233 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=51.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)) [] 02:20:29.234 [debug] QUERY OK source="media_items" db=1.1ms idle=51.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:20:29.234 [debug] Replied in 3ms 02:20:29.236 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:20:29.237 [debug] QUERY OK source="media_items" db=1.0ms idle=53.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:20:29.239 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=53.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] 02:20:29.241 [debug] QUERY OK source="sources" db=1.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" = ?) [1] 02:20:29.241 [debug] Replied in 5ms 02:20:29.244 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:29.245 [debug] QUERY OK source="tasks" db=0.5ms idle=11.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:20:29.245 [debug] QUERY OK source="media_items" db=0.4ms idle=10.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 02:20:29.245 [debug] Replied in 1ms 02:20:29.246 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:29.247 [debug] Replied in 110µs 02:20:33.196 [info] GET /sources/1/media/1 02:20:33.196 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1", "source_id" => "1"} Pipelines: [:browser] 02:20:33.198 [debug] QUERY OK source="media_items" db=1.0ms idle=555.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 02:20:33.200 [debug] QUERY OK source="tasks" db=0.2ms queue=0.3ms idle=557.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" [1] 02:20:33.201 [debug] QUERY OK source="sources" db=1.2ms idle=558.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:20:33.203 [debug] QUERY OK source="oban_jobs" db=1.1ms queue=0.4ms idle=559.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [5] 02:20:33.204 [debug] QUERY OK source="settings" db=0.6ms idle=402.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:33.204 [debug] QUERY OK source="settings" db=0.2ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:33.205 [debug] QUERY OK source="settings" db=0.2ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:33.206 [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] 02:20:33.208 [info] Sent 200 in 12ms 02:20:33.237 [info] CONNECTED TO Phoenix.LiveView.Socket in 44µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XGc6YAAaJh1-Smc3E0wFPzg8ARYuDlBZ8SxUHpumJzPbT47OuqyuOc7i", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:20:33.260 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:33.260 [debug] Replied in 199µs 02:20:42.829 [info] GET / 02:20:42.829 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:20:42.830 [debug] QUERY OK source="settings" db=0.4ms 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 [] 02:20:42.831 [debug] QUERY OK source="media_profiles" db=0.4ms idle=189.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:20:42.832 [debug] QUERY OK source="sources" db=0.2ms idle=190.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:20:42.832 [debug] QUERY OK source="media_items" db=0.5ms idle=190.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:42.833 [debug] QUERY OK source="media_items" db=0.4ms idle=9.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:42.834 [debug] QUERY OK source="settings" db=0.3ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:42.835 [debug] QUERY OK source="settings" db=0.4ms 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 [] 02:20:42.836 [debug] QUERY OK source="settings" db=0.2ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:42.839 [debug] QUERY OK source="tasks" db=1.3ms idle=4.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:20:42.840 [debug] QUERY OK source="media_items" db=0.4ms 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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 02:20:42.841 [debug] QUERY OK source="media_items" db=0.1ms idle=7.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:42.842 [debug] QUERY OK source="media_items" db=0.3ms idle=6.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:20:42.843 [debug] QUERY OK source="media_items" db=0.2ms idle=6.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:20:42.844 [debug] QUERY OK source="media_items" db=0.5ms idle=4.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:20:42.844 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:20:42.845 [info] Sent 200 in 15ms 02:20:42.880 [info] CONNECTED TO Phoenix.LiveView.Socket in 42µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "FFEDcyI4HhdFXQc5ADN5HTl-HRUYAA1CpeAFjRMgqm0lGKKmt3evymjr", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:20:42.903 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:20:42.904 [debug] QUERY OK source="media_items" db=0.5ms idle=62.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:42.906 [debug] QUERY OK source="media_items" db=1.4ms idle=62.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:20:42.906 [debug] Replied in 3ms 02:20:42.907 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:20:42.908 [debug] QUERY OK source="media_items" db=0.5ms idle=64.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:20:42.910 [debug] QUERY OK source="media_items" db=1.4ms idle=64.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:20:42.911 [debug] QUERY OK source="sources" db=0.5ms idle=66.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:20:42.911 [debug] Replied in 4ms 02:20:42.913 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:42.914 [debug] QUERY OK source="tasks" db=0.6ms idle=9.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:20:42.914 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 02:20:42.915 [debug] Replied in 1ms 02:20:42.916 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:42.916 [debug] Replied in 145µs 02:20:44.288 [info] GET / 02:20:44.288 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:20:44.289 [debug] QUERY OK source="settings" db=0.3ms idle=1378.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:44.290 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1378.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:20:44.290 [debug] QUERY OK source="sources" db=0.2ms idle=1376.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:20:44.291 [debug] QUERY OK source="media_items" db=0.3ms idle=1376.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:44.291 [debug] QUERY OK source="media_items" db=0.2ms idle=464.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:44.292 [debug] QUERY OK source="settings" db=0.4ms 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 [] 02:20:44.292 [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 [] 02:20:44.294 [debug] QUERY OK source="settings" db=0.6ms 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 [] 02:20:44.296 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=5.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:20:44.298 [debug] QUERY OK source="media_items" db=0.7ms 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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 02:20:44.299 [debug] QUERY OK source="media_items" db=0.1ms idle=6.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)) [] 02:20:44.299 [debug] QUERY OK source="media_items" db=0.4ms idle=6.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:20:44.300 [debug] QUERY OK source="media_items" db=0.3ms idle=6.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:20:44.302 [debug] QUERY OK source="media_items" db=1.1ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:20:44.302 [debug] QUERY OK source="sources" db=0.4ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:20:44.304 [info] Sent 200 in 15ms 02:20:44.345 [info] CONNECTED TO Phoenix.LiveView.Socket in 47µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KkEmVjEAGhZcaVw-EwwLGig-ChRRIxNZNudcyjIfhYkkTt9jesrw0Nti", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:20:44.358 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:20:44.359 [debug] QUERY OK source="media_items" db=0.6ms idle=59.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:44.361 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=60.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:20:44.361 [debug] Replied in 3ms 02:20:44.363 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:20:44.364 [debug] QUERY OK source="media_items" db=1.2ms idle=62.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:20:44.366 [debug] QUERY OK source="media_items" db=1.7ms idle=62.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:20:44.368 [debug] QUERY OK source="sources" db=0.7ms idle=64.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:20:44.368 [debug] Replied in 5ms 02:20:44.369 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:44.370 [debug] QUERY OK source="tasks" db=0.5ms idle=10.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:20:44.370 [debug] QUERY OK source="media_items" db=0.2ms idle=8.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 02:20:44.371 [debug] Replied in 1ms 02:20:44.372 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:44.372 [debug] Replied in 117µs 02:20:44.742 [info] GET / 02:20:44.742 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:20:44.744 [debug] QUERY OK source="settings" db=0.6ms idle=378.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:44.744 [debug] QUERY OK source="media_profiles" db=0.2ms idle=377.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:20:44.745 [debug] QUERY OK source="sources" db=0.5ms idle=376.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:20:44.746 [debug] QUERY OK source="media_items" db=0.7ms idle=375.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:44.747 [debug] QUERY OK source="media_items" db=0.3ms idle=375.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:44.748 [debug] QUERY OK source="settings" db=0.5ms 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 [] 02:20:44.749 [debug] QUERY OK source="settings" db=0.5ms 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:20:44.750 [debug] QUERY OK source="settings" db=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 [] 02:20:44.752 [debug] QUERY OK source="tasks" db=0.6ms idle=4.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:20:44.752 [debug] QUERY OK source="media_items" db=0.3ms idle=5.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 02:20:44.754 [debug] QUERY OK source="media_items" db=0.2ms idle=5.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)) [] 02:20:44.755 [debug] QUERY OK source="media_items" db=0.8ms idle=5.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:20:44.756 [debug] QUERY OK source="media_items" db=0.4ms idle=5.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:20:44.757 [debug] QUERY OK source="media_items" db=1.0ms idle=4.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:20:44.758 [debug] QUERY OK source="sources" db=0.4ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:20:44.759 [info] Sent 200 in 17ms 02:20:44.800 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KV0weBw7BgNbQUQlDTULBCw-DAhTLBVZMirMTQUsoqspJM9tastk2Ari", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:20:44.817 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:20:44.819 [debug] QUERY OK source="media_items" db=0.9ms idle=63.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:20:44.820 [debug] QUERY OK source="media_items" db=1.1ms idle=63.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:20:44.820 [debug] Replied in 3ms 02:20:44.822 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:20:44.823 [debug] QUERY OK source="media_items" db=0.8ms idle=66.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:20:44.826 [debug] QUERY OK source="media_items" db=1.8ms idle=66.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:20:44.827 [debug] QUERY OK source="sources" db=0.8ms queue=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" = ?) [1] 02:20:44.828 [debug] Replied in 5ms 02:20:44.830 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:44.832 [debug] QUERY OK source="tasks" db=0.7ms idle=11.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:20:44.832 [debug] QUERY OK source="media_items" db=0.2ms 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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 02:20:44.832 [debug] Replied in 2ms 02:20:44.833 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:20:44.833 [debug] Replied in 108µs 02:20:50.423 [info] {"source":"oban","duration":1681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:00.363 [info] {"source":"oban","duration":1023,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:21:20.425 [info] {"source":"oban","duration":1276,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:32.691 [info] GET / 02:21:32.691 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:21:32.692 [debug] QUERY OK source="settings" db=0.6ms idle=1047.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:32.692 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1048.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:21:32.693 [debug] QUERY OK source="sources" db=0.1ms idle=760.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:21:32.693 [debug] QUERY OK source="media_items" db=0.5ms idle=49.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:21:32.695 [debug] QUERY OK source="media_items" db=0.8ms queue=0.9ms idle=50.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:21:32.697 [debug] QUERY OK source="settings" db=0.7ms queue=0.7ms 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:21:32.700 [debug] QUERY OK source="settings" db=1.6ms queue=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 [] 02:21:32.703 [debug] QUERY OK source="settings" db=0.9ms 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 [] 02:21:32.704 [debug] QUERY OK source="tasks" db=0.6ms idle=10.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:21:32.705 [debug] QUERY OK source="media_items" db=0.1ms idle=8.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 02:21:32.706 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:21:32.707 [debug] QUERY OK source="media_items" db=0.7ms idle=5.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:21:32.708 [debug] QUERY OK source="media_items" db=0.6ms idle=4.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:21:32.708 [debug] QUERY OK source="media_items" db=0.6ms idle=3.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:21:32.710 [debug] QUERY OK source="sources" db=1.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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:21:32.711 [info] Sent 200 in 20ms 02:21:32.741 [info] CONNECTED TO Phoenix.LiveView.Socket in 28µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "CgRzAiAGZiRjBE8tdEB_NzgKVSIxJT9qn017hl5TW4xx38MGuG-APHXZ", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:21:32.756 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:21:32.757 [debug] QUERY OK source="media_items" db=0.6ms idle=50.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)) [] 02:21:32.758 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=50.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:21:32.758 [debug] Replied in 2ms 02:21:32.759 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:21:32.761 [debug] QUERY OK source="media_items" db=0.6ms queue=0.5ms idle=52.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:21:32.764 [debug] QUERY OK source="media_items" db=1.8ms queue=0.8ms idle=53.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] 02:21:32.765 [debug] QUERY OK source="sources" db=0.2ms idle=54.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:21:32.765 [debug] Replied in 5ms 02:21:32.767 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:21:32.769 [debug] QUERY OK source="tasks" db=1.8ms idle=10.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:21:32.770 [debug] QUERY OK source="media_items" db=0.6ms idle=10.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 02:21:32.770 [debug] Replied in 3ms 02:21:32.771 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:21:32.771 [debug] Replied in 98µs 02:21:36.602 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JRIk3EslWJM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/Programy naukowe/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/98/3e/983e5475cb37ddc01845a612645dcb48b49659974956ffb8e0f9a77414106530.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:21:36.638 [debug] Running yt-dlp command for action: download_thumbnail 02:21:36.640 [debug] QUERY OK source="settings" db=0.2ms idle=1996.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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.640 [debug] QUERY OK source="settings" db=0.5ms idle=1996.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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.641 [debug] QUERY OK source="settings" db=0.3ms idle=1997.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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.641 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JRIk3EslWJM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/1/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3f/ae/3fae860872d7464f64503f3ed74127d5bd8d0934b56a28b206669c0423ae7c63.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:21:40.407 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JRIk3EslWJM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/1/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3f/ae/3fae860872d7464f64503f3ed74127d5bd8d0934b56a28b206669c0423ae7c63.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:21:40.408 [debug] QUERY OK db=0.0ms idle=1458.3ms begin [] 02:21:40.411 [debug] QUERY OK source="media_items" db=2.4ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-04 00:21:36Z], "/downloads/Programy naukowe/2024-12-27 To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach/To jedne z najtragiczniejszych katastrof w Europie | Katastrofa w przestworzach [JRIk3EslWJM].mp4", ~U[2026-04-04 00:21:40Z], 1] 02:21:40.413 [debug] QUERY OK source="media_metadata" db=1.1ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/1/metadata.json.gz", "/config/metadata/media_items/1/thumbnail.jpg", 1, ~U[2026-04-04 00:21:40Z], ~U[2026-04-04 00:21:40Z]] 02:21:40.414 [debug] QUERY OK db=0.3ms commit [] 02:21:40.416 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=771.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [497171209, ~U[2026-04-04 00:21:40Z], 1] 02:21:40.416 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:21:40.417 [info] {"args":{"id":1},"id":5,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":93652207,"event":"job:stop","queue_time":763361,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:21:40.418 [debug] QUERY OK source="tasks" db=0.4ms idle=774.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:21:43.012 [info] GET /settings 02:21:43.013 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 02:21:43.014 [debug] QUERY OK source="settings" db=0.4ms idle=1370.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:43.015 [debug] QUERY OK source="settings" db=0.4ms idle=1371.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:43.016 [debug] QUERY OK source="settings" db=0.8ms idle=1372.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:43.018 [debug] QUERY OK source="settings" db=0.5ms idle=1062.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:43.021 [info] Sent 200 in 8ms 02:21:43.082 [info] CONNECTED TO Phoenix.LiveView.Socket in 47µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "InIzAHAuDDJdWFI5EClkBhh7Lw0SABEIFFq58D_BihelWQVvU6Wnsmv8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:21:43.094 [debug] MOUNT Pinchflat.Settings.AppriseServerLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "value" => nil} 02:21:43.095 [debug] Replied in 249µs 02:21:43.096 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:21:43.096 [debug] Replied in 212µs 02:21:50.428 [info] {"source":"oban","duration":2015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:53.047 [info] GET /app_info 02:21:53.048 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 02:21:53.049 [debug] QUERY OK source="settings" db=0.4ms idle=1072.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:21:53.050 [debug] QUERY OK source="settings" db=0.3ms idle=406.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53.051 [debug] QUERY OK source="settings" db=0.6ms idle=407.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53.053 [debug] QUERY OK source="settings" db=0.3ms idle=409.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:21:53.053 [debug] QUERY OK source="settings" db=0.5ms idle=74.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53.055 [info] Sent 200 in 7ms 02:21:53.092 [info] CONNECTED TO Phoenix.LiveView.Socket in 46µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "A3MYWS9aAgVhY2csN05BOysELk4XQABfgGZlg0QuUSPyp6sKfIV-v-go", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:21:53.107 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:21:53.107 [debug] Replied in 205µs 02:21:54.294 [info] GET /settings 02:21:54.294 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 02:21:54.295 [debug] QUERY OK source="settings" db=0.5ms idle=1244.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54.296 [debug] QUERY OK source="settings" db=0.7ms idle=1244.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54.297 [debug] QUERY OK source="settings" db=0.4ms idle=1243.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:21:54.298 [debug] QUERY OK source="settings" db=0.2ms idle=1244.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54.302 [info] Sent 200 in 7ms 02:21:54.342 [info] CONNECTED TO Phoenix.LiveView.Socket in 33µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "LWIsfS0lByN_SlYUAjxHHxQSECY0MlNiIVnHeOTSKzaAEDuoY_hEU_4R", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:21:54.358 [debug] MOUNT Pinchflat.Settings.AppriseServerLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "value" => nil} 02:21:54.358 [debug] Replied in 240µs 02:21:54.360 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:21:54.360 [debug] Replied in 241µs 02:21:57.163 [info] GET / 02:21:57.163 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:21:57.164 [debug] QUERY OK source="settings" db=0.6ms idle=1520.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:21:57.165 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1521.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:21:57.166 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1521.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:21:57.166 [debug] QUERY OK source="media_items" db=0.2ms idle=1181.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:21:57.167 [debug] QUERY OK source="media_items" db=0.6ms idle=179.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:21:57.168 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:21:57.169 [debug] QUERY OK source="settings" db=0.6ms queue=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 [] 02:21:57.171 [debug] QUERY OK source="settings" db=0.5ms 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 [] 02:21:57.172 [debug] QUERY OK source="tasks" db=0.4ms idle=5.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:21:57.173 [debug] QUERY OK source="media_items" db=0.1ms idle=5.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:21:57.174 [debug] QUERY OK source="media_items" db=0.7ms idle=4.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:21:57.174 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:21:57.176 [debug] QUERY OK source="media_items" db=0.3ms idle=5.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:21:57.177 [debug] QUERY OK source="media_items" db=0.8ms idle=4.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:21:57.178 [info] Sent 200 in 15ms 02:21:57.214 [info] CONNECTED TO Phoenix.LiveView.Socket in 48µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "IVotBh1TEjltQwQbahNoKXsLNylMBy5cEno3U9AIYs3N-kZY6FOJ-jIl", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:21:57.237 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "downloaded"} 02:21:57.238 [debug] QUERY OK source="media_items" db=0.2ms idle=64.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:21:57.239 [debug] QUERY OK source="media_items" db=0.9ms idle=64.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:21:57.241 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=65.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:21:57.241 [debug] Replied in 3ms 02:21:57.244 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0", "media_state" => "pending"} 02:21:57.245 [debug] QUERY OK source="media_items" db=0.6ms idle=68.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:21:57.247 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=68.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:21:57.248 [debug] Replied in 3ms 02:21:57.249 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:21:57.250 [debug] QUERY OK source="tasks" db=0.5ms idle=11.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:21:57.250 [debug] Replied in 1ms 02:21:57.251 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:21:57.251 [debug] Replied in 132µs 02:22:00.365 [info] {"source":"oban","duration":558,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:22:01.612 [info] GET /sources/1/media/1 02:22:01.613 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1", "source_id" => "1"} Pipelines: [:browser] 02:22:01.614 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1248.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" = ?) [1] 02:22:01.615 [debug] QUERY OK source="sources" db=0.4ms idle=971.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:22:01.615 [debug] QUERY OK source="tasks" db=0.8ms idle=971.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" [1] 02:22:01.616 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=972.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [5] 02:22:01.618 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=621.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:01.618 [debug] QUERY OK source="settings" db=0.3ms queue=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:22:01.619 [debug] QUERY OK source="settings" db=0.3ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:22:01.621 [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] 02:22:01.626 [info] Sent 200 in 14ms 02:22:01.656 [info] CONNECTED TO Phoenix.LiveView.Socket in 48µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "EG0SegcJMCQDUVg_cDAAQi4kSggqHDVEtYPOOccT7aoj7H22ci2kKqRt", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:22:01.669 [info] GET /media/f410e0f7-640a-4b56-b224-25bf334d4eea/stream 02:22:01.669 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "f410e0f7-640a-4b56-b224-25bf334d4eea", "v" => "1775262100"} Pipelines: [:maybe_basic_auth] 02:22:01.671 [debug] QUERY OK source="media_items" db=0.9ms queue=0.4ms idle=53.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" = ?) ["f410e0f7-640a-4b56-b224-25bf334d4eea"] 02:22:01.672 [debug] Streaming media item: f410e0f7-640a-4b56-b224-25bf334d4eea from 0 to 497171208 02:22:01.672 [info] Sent 206 in 3ms 02:22:01.683 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:22:01.683 [debug] Replied in 223µs 02:22:06.188 [info] GET /media/f410e0f7-640a-4b56-b224-25bf334d4eea/stream 02:22:06.189 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "f410e0f7-640a-4b56-b224-25bf334d4eea", "v" => "1775262100"} Pipelines: [:maybe_basic_auth] 02:22:06.190 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=1545.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["f410e0f7-640a-4b56-b224-25bf334d4eea"] 02:22:06.191 [debug] Streaming media item: f410e0f7-640a-4b56-b224-25bf334d4eea from 2129920 to 497171208 02:22:06.191 [info] Sent 206 in 2ms 02:22:06.841 [info] GET /media/f410e0f7-640a-4b56-b224-25bf334d4eea/stream 02:22:06.841 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "f410e0f7-640a-4b56-b224-25bf334d4eea", "v" => "1775262100"} Pipelines: [:maybe_basic_auth] 02:22:06.842 [debug] QUERY OK source="media_items" db=0.7ms idle=1198.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["f410e0f7-640a-4b56-b224-25bf334d4eea"] 02:22:06.843 [debug] Streaming media item: f410e0f7-640a-4b56-b224-25bf334d4eea from 82018304 to 497171208 02:22:06.843 [info] Sent 206 in 1ms 02:22:07.104 [info] GET /media/f410e0f7-640a-4b56-b224-25bf334d4eea/stream 02:22:07.104 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "f410e0f7-640a-4b56-b224-25bf334d4eea", "v" => "1775262100"} Pipelines: [:maybe_basic_auth] 02:22:07.105 [debug] QUERY OK source="media_items" db=0.4ms idle=914.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["f410e0f7-640a-4b56-b224-25bf334d4eea"] 02:22:07.106 [debug] Streaming media item: f410e0f7-640a-4b56-b224-25bf334d4eea from 82477056 to 497171208 02:22:07.106 [info] Sent 206 in 1ms 02:22:20.430 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:50.432 [info] {"source":"oban","duration":1381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:00.367 [info] {"source":"oban","duration":524,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:23:20.434 [info] {"source":"oban","duration":1150,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:50.436 [info] {"source":"oban","duration":1296,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:00.367 [info] {"source":"oban","duration":461,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:24:20.438 [info] {"source":"oban","duration":1119,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:50.440 [info] {"source":"oban","duration":1255,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:00.369 [info] {"source":"oban","duration":445,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:25:20.442 [info] {"source":"oban","duration":1122,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:50.444 [info] {"source":"oban","duration":1378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:00.370 [info] {"source":"oban","duration":455,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:26:20.446 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:50.448 [info] {"source":"oban","duration":1242,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:00.370 [info] {"source":"oban","duration":405,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:27:20.451 [info] {"source":"oban","duration":1477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:50.453 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:00.372 [info] {"source":"oban","duration":479,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:28:17.836 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "EG0SegcJMCQDUVg_cDAAQi4kSggqHDVEtYPOOccT7aoj7H22ci2kKqRt", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:28:17.883 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 02:28:17.883 [debug] Replied in 202µs 02:28:17.889 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 02:28:17.889 [debug] Replied in 227µs 02:28:20.454 [info] {"source":"oban","duration":1219,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:39.630 [info] GET / 02:28:39.630 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:28:39.631 [debug] QUERY OK source="settings" db=0.4ms idle=1986.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:28:39.632 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1987.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:28:39.633 [debug] QUERY OK source="sources" db=0.5ms idle=1987.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:28:39.634 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms idle=1800.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:28:39.635 [debug] QUERY OK source="media_items" db=0.4ms idle=799.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:28:39.635 [debug] QUERY OK source="settings" db=0.3ms 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:28:39.636 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:28:39.638 [debug] QUERY OK source="settings" db=0.3ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:28:39.640 [debug] QUERY OK source="tasks" db=0.5ms idle=5.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:28:39.641 [debug] QUERY OK source="media_items" db=0.3ms idle=5.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:28:39.642 [debug] QUERY OK source="media_items" db=1.0ms idle=5.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] 02:28:39.643 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:28:39.645 [debug] QUERY OK source="media_items" db=0.5ms idle=6.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:28:39.646 [debug] QUERY OK source="media_items" db=0.6ms idle=5.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:28:39.647 [info] Sent 200 in 16ms 02:28:50.456 [info] {"source":"oban","duration":1345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:00.373 [info] {"source":"oban","duration":418,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:29:20.458 [info] {"source":"oban","duration":1343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:50.460 [info] {"source":"oban","duration":1286,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:00.373 [info] {"source":"oban","duration":445,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:30:20.462 [info] {"source":"oban","duration":1299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:50.464 [info] {"source":"oban","duration":1256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:00.374 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:31:20.466 [info] {"source":"oban","duration":1165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:50.468 [info] {"source":"oban","duration":1437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:00.376 [info] {"source":"oban","duration":447,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:32:20.470 [info] {"source":"oban","duration":1308,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:50.472 [info] {"source":"oban","duration":1276,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:00.377 [info] {"source":"oban","duration":509,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:33:20.474 [info] {"source":"oban","duration":1142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:50.476 [info] {"source":"oban","duration":1153,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:56.151 [info] GET / 02:33:56.151 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:33:56.152 [debug] QUERY OK source="settings" db=0.4ms idle=661.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:33:56.152 [debug] QUERY OK source="media_profiles" db=0.1ms idle=507.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:33:56.152 [debug] QUERY OK source="sources" db=0.1ms idle=508.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:33:56.153 [debug] QUERY OK source="media_items" db=0.1ms idle=508.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:33:56.153 [debug] QUERY OK source="media_items" db=0.2ms idle=508.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:33:56.154 [debug] QUERY OK source="settings" db=0.4ms 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 [] 02:33:56.154 [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 [] 02:33:56.155 [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 [] 02:33:56.156 [debug] QUERY OK source="tasks" db=0.3ms idle=2.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:33:56.157 [debug] QUERY OK source="media_items" db=0.2ms idle=3.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)) [] 02:33:56.157 [debug] QUERY OK source="media_items" db=0.5ms idle=3.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:33:56.158 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:33:56.160 [debug] QUERY OK source="media_items" db=0.3ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:33:56.160 [debug] QUERY OK source="media_items" db=0.7ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:33:56.162 [info] Sent 200 in 11ms 02:34:00.379 [info] {"source":"oban","duration":379,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:34:20.478 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:50.480 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:00.379 [info] {"source":"oban","duration":389,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:35:20.482 [info] {"source":"oban","duration":1150,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:50.484 [info] {"source":"oban","duration":1336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:00.380 [info] {"source":"oban","duration":306,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:36:20.486 [info] {"source":"oban","duration":1423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:25.368 [info] GET / 02:36:25.368 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:36:25.369 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1724.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:36:25.370 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1724.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:36:25.370 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1725.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:36:25.371 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1559.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:36:25.371 [debug] QUERY OK source="media_items" db=0.1ms idle=557.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:36:25.372 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:36:25.373 [debug] QUERY OK source="settings" db=0.3ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:36:25.374 [debug] QUERY OK source="settings" db=0.5ms 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 [] 02:36:25.377 [debug] QUERY OK source="tasks" db=0.7ms idle=4.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"] 02:36:25.377 [debug] QUERY OK source="media_items" db=0.1ms idle=5.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:36:25.378 [debug] QUERY OK source="media_items" db=0.6ms idle=5.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:36:25.379 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:36:25.380 [debug] QUERY OK source="media_items" db=0.4ms 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:36:25.381 [debug] QUERY OK source="media_items" db=0.8ms idle=3.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:36:25.382 [info] Sent 200 in 14ms 02:36:50.488 [info] {"source":"oban","duration":1290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:00.381 [info] {"source":"oban","duration":348,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:37:20.490 [info] {"source":"oban","duration":1253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:50.492 [info] {"source":"oban","duration":1177,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:00.383 [info] {"source":"oban","duration":424,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:38:20.494 [info] {"source":"oban","duration":1225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:50.496 [info] {"source":"oban","duration":1217,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:00.383 [info] {"source":"oban","duration":330,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:39:20.498 [info] {"source":"oban","duration":1235,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:50.501 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:00.385 [info] {"source":"oban","duration":447,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:40:20.502 [info] {"source":"oban","duration":1168,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:50.504 [info] {"source":"oban","duration":1227,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:00.386 [info] {"source":"oban","duration":616,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:41:20.506 [info] {"source":"oban","duration":1173,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:50.508 [info] {"source":"oban","duration":1046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:00.387 [info] {"source":"oban","duration":360,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:42:20.510 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:50.512 [info] {"source":"oban","duration":1244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:00.388 [info] {"source":"oban","duration":348,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:43:20.514 [info] {"source":"oban","duration":1331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:50.516 [info] {"source":"oban","duration":1377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:00.390 [info] {"source":"oban","duration":537,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:44:20.518 [info] {"source":"oban","duration":1225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:50.520 [info] {"source":"oban","duration":1275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:00.390 [info] {"source":"oban","duration":363,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:45:20.523 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:50.524 [info] {"source":"oban","duration":1233,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:00.391 [info] {"source":"oban","duration":299,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:46:20.526 [info] {"source":"oban","duration":1153,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:38.379 [info] GET / 02:46:38.379 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:46:38.380 [debug] QUERY OK source="settings" db=0.5ms idle=734.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:46:38.381 [debug] QUERY OK source="media_profiles" db=0.4ms idle=735.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:46:38.382 [debug] QUERY OK source="sources" db=0.4ms idle=735.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:46:38.382 [debug] QUERY OK source="media_items" db=0.2ms idle=736.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:46:38.382 [debug] QUERY OK source="media_items" db=0.2ms idle=308.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:46:38.383 [debug] QUERY OK source="settings" db=0.3ms 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:46:38.384 [debug] QUERY OK source="settings" db=0.4ms 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:46:38.385 [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 [] 02:46:38.387 [debug] QUERY OK source="tasks" db=0.5ms idle=4.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:46:38.388 [debug] QUERY OK source="media_items" db=0.3ms idle=5.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)) [] 02:46:38.390 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=5.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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:46:38.390 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:46:38.393 [debug] QUERY OK source="media_items" db=0.4ms idle=7.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:46:38.395 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=6.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:46:38.396 [info] Sent 200 in 16ms 02:46:50.528 [info] {"source":"oban","duration":1299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:00.393 [info] {"source":"oban","duration":461,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:47:20.530 [info] {"source":"oban","duration":1419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:50.532 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:00.394 [info] {"source":"oban","duration":504,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:48:20.534 [info] {"source":"oban","duration":1378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:50.536 [info] {"source":"oban","duration":1196,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:00.394 [info] {"source":"oban","duration":354,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:49:20.538 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:50.540 [info] {"source":"oban","duration":1205,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:00.395 [info] {"source":"oban","duration":353,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:50:03.670 [info] GET / 02:50:03.670 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:50:03.671 [debug] QUERY OK source="settings" db=0.6ms 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 [] 02:50:03.672 [debug] QUERY OK source="media_profiles" db=0.7ms idle=26.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:50:03.673 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=26.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:50:03.673 [debug] QUERY OK source="media_items" db=0.4ms idle=27.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:50:03.674 [debug] QUERY OK source="media_items" db=0.2ms idle=28.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:50:03.674 [debug] QUERY OK source="settings" db=0.2ms 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 [] 02:50:03.675 [debug] QUERY OK source="settings" db=0.7ms 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 [] 02:50:03.678 [debug] QUERY OK source="settings" db=0.6ms queue=0.8ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:03.680 [debug] QUERY OK source="tasks" db=0.6ms idle=6.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:50:03.681 [debug] QUERY OK source="media_items" db=0.2ms idle=7.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:50:03.682 [debug] QUERY OK source="media_items" db=0.4ms idle=7.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:50:03.683 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:50:03.685 [debug] QUERY OK source="media_items" db=0.5ms idle=6.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:50:03.687 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=5.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:50:03.688 [info] Sent 200 in 18ms 02:50:06.603 [info] GET /sources 02:50:06.603 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 02:50:06.605 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=958.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:06.606 [debug] QUERY OK source="settings" db=0.6ms queue=0.5ms idle=959.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:06.610 [debug] QUERY OK source="settings" db=3.1ms queue=0.1ms idle=961.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:06.612 [debug] QUERY OK source="settings" db=0.6ms idle=966.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:06.613 [debug] QUERY OK source="settings" db=0.3ms 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 [] 02:50:06.614 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=8.5ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 02:50:06.616 [debug] QUERY OK source="sources" db=1.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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 02:50:06.618 [info] Sent 200 in 15ms 02:50:09.466 [info] GET /sources/1/media/1 02:50:09.466 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1", "source_id" => "1"} Pipelines: [:browser] 02:50:09.467 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1821.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" = ?) [1] 02:50:09.469 [debug] QUERY OK source="tasks" db=0.5ms queue=0.2ms idle=1822.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" [1] 02:50:09.469 [debug] QUERY OK source="sources" db=0.9ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:50:09.471 [debug] QUERY OK source="oban_jobs" db=0.7ms queue=0.4ms idle=1824.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [5] 02:50:09.472 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=945.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:09.473 [debug] QUERY OK source="settings" db=0.5ms 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:50:09.474 [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 [] 02:50:09.476 [debug] QUERY OK source="media_profiles" db=0.9ms 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:50:09.482 [info] Sent 200 in 16ms 02:50:12.079 [info] GET /settings 02:50:12.079 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 02:50:12.080 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1434.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:12.082 [debug] QUERY OK source="settings" db=0.8ms idle=1435.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:12.082 [debug] QUERY OK source="settings" db=0.2ms idle=1436.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:12.084 [debug] QUERY OK source="settings" db=0.9ms idle=1437.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:12.087 [info] Sent 200 in 8ms 02:50:20.542 [info] {"source":"oban","duration":1326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:23.583 [info] GET /media_profiles 02:50:23.584 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 02:50:23.585 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1939.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 02:50:23.586 [debug] QUERY OK source="settings" db=0.3ms idle=1940.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:23.587 [debug] QUERY OK source="settings" db=0.6ms idle=1940.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:23.588 [debug] QUERY OK source="settings" db=0.3ms idle=1031.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:23.590 [info] Sent 200 in 7ms 02:50:24.915 [info] GET /app_info 02:50:24.915 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 02:50:24.916 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=355.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:24.917 [debug] QUERY OK source="settings" db=0.6ms idle=271.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:24.919 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=272.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:24.920 [debug] QUERY OK source="settings" db=0.2ms idle=274.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:24.921 [debug] QUERY OK source="settings" db=0.2ms idle=275.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:24.922 [info] Sent 200 in 7ms 02:50:26.108 [info] GET /sources/1 02:50:26.108 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 02:50:26.110 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1191.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:50:26.110 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1190.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:50:26.111 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=1190.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 02:50:26.112 [debug] QUERY OK source="settings" db=0.1ms idle=1190.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:26.113 [debug] QUERY OK source="settings" db=0.2ms idle=549.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:26.114 [debug] QUERY OK source="settings" db=0.2ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:26.118 [debug] QUERY OK source="sources" db=0.4ms idle=7.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:50:26.121 [debug] QUERY OK source="media_items" db=0.3ms queue=0.6ms idle=8.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 02:50:26.122 [debug] QUERY OK source="media_items" db=0.6ms queue=0.4ms idle=9.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 02:50:26.124 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [1] 02:50:26.124 [debug] QUERY OK source="media_items" db=0.0ms queue=0.4ms idle=10.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 02:50:26.125 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=6.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 02:50:26.127 [debug] QUERY OK source="sources" db=0.2ms queue=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" = ?) [1] 02:50:26.128 [debug] QUERY OK source="media_items" db=0.2ms queue=0.3ms idle=4.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 02:50:26.129 [debug] QUERY OK source="media_items" db=0.5ms queue=0.3ms idle=4.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 02:50:26.130 [info] Sent 200 in 22ms 02:50:28.223 [info] GET /media_profiles/1 02:50:28.223 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 02:50:28.224 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=656.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:50:28.225 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=579.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 02:50:28.226 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=580.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:28.227 [debug] QUERY OK source="settings" db=0.1ms idle=581.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:28.228 [debug] QUERY OK source="settings" db=0.2ms idle=582.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:28.231 [info] Sent 200 in 7ms 02:50:29.145 [info] GET /sources/new 02:50:29.145 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 02:50:29.146 [debug] QUERY OK source="media_profiles" db=0.4ms idle=920.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 02:50:29.147 [debug] QUERY OK source="settings" db=0.2ms idle=920.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:29.148 [debug] QUERY OK source="settings" db=0.2ms idle=920.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:29.149 [debug] QUERY OK source="settings" db=0.6ms idle=920.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:29.150 [debug] QUERY OK source="settings" db=0.4ms idle=580.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:29.152 [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 [] 02:50:29.156 [info] Sent 200 in 11ms 02:50:29.941 [info] GET /sources/1/ 02:50:29.941 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 02:50:29.943 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=793.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:50:29.944 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=794.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:50:29.945 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=794.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 02:50:29.946 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=793.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:29.947 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=374.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:29.948 [debug] QUERY OK source="settings" db=0.2ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:29.951 [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" = ?) [1] 02:50:29.953 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=6.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 02:50:29.954 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=6.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 02:50:29.954 [debug] QUERY OK source="sources" db=0.2ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:50:29.955 [debug] QUERY OK source="media_items" db=0.0ms idle=6.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 02:50:29.955 [debug] QUERY OK source="media_items" db=0.3ms idle=3.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 02:50:29.956 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:50:29.957 [debug] QUERY OK source="media_items" db=0.5ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 02:50:29.958 [debug] QUERY OK source="media_items" db=0.8ms idle=3.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 02:50:29.959 [info] Sent 200 in 18ms 02:50:30.682 [info] GET /sources/1/edit 02:50:30.683 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 02:50:30.684 [debug] QUERY OK source="sources" db=0.3ms idle=728.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:50:30.685 [debug] QUERY OK source="media_profiles" db=0.3ms idle=728.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 02:50:30.686 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=728.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:30.687 [debug] QUERY OK source="settings" db=0.3ms idle=728.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:30.688 [debug] QUERY OK source="settings" db=0.2ms idle=112.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:30.693 [info] Sent 200 in 11ms 02:50:31.340 [info] GET /sources/1/media/1/force_download 02:50:31.342 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=657.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:31.343 [debug] QUERY OK source="settings" db=0.3ms idle=657.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:31.343 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:50:31.345 [error] #PID<0.3397.0> running PinchflatWeb.Endpoint (connection #PID<0.3373.0>, stream id 18) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources/1/media/1/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/1/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3373.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/1/force_download", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 32782}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1/media/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps" }, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3397.0>, params: %{}, path_info: ["sources", "1", "media", "1", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.trylik.pl"}, {"referer", "https://pinchflat.trylik.pl/sources/1/media/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "74.7.243.221"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "877111519"} ], request_path: "/sources/1/media/1/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMBDIGjQ6JhO2YAAXEC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3373.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/1/force_download", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 32782}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1/media/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/1/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3373.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/1/force_download", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 32782}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1/media/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false (truncated) 02:50:31.921 [info] GET /sources/1/media/1/edit 02:50:31.921 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1", "source_id" => "1"} Pipelines: [:browser] 02:50:31.922 [debug] QUERY OK source="media_items" db=0.5ms idle=1234.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" = ?) [1] 02:50:31.923 [debug] QUERY OK source="settings" db=0.2ms idle=1234.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:31.924 [debug] QUERY OK source="settings" db=0.3ms idle=581.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:31.926 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=582.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:31.928 [info] Sent 200 in 7ms 02:50:35.383 [info] GET /media_profiles/1/ 02:50:35.384 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 02:50:35.385 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1738.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 02:50:35.386 [debug] QUERY OK source="sources" db=0.4ms idle=1739.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 02:50:35.387 [debug] QUERY OK source="settings" db=0.4ms idle=1740.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:35.387 [debug] QUERY OK source="settings" db=0.2ms idle=1741.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:35.388 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=805.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:35.392 [info] Sent 200 in 8ms 02:50:36.754 [info] GET /download_logs 02:50:36.754 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 02:50:36.755 [info] Sent 200 in 1ms 02:50:37.977 [info] GET /media_profiles/new 02:50:37.978 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 02:50:37.979 [debug] QUERY OK source="settings" db=0.4ms idle=1333.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:37.980 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1334.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:37.981 [debug] QUERY OK source="settings" db=0.4ms idle=1335.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:37.983 [debug] QUERY OK source="settings" db=0.7ms idle=1336.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:37.984 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=392.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:37.988 [info] Sent 200 in 10ms 02:50:39.082 [info] GET /media_profiles/1/edit 02:50:39.082 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 02:50:39.084 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=1103.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 02:50:39.085 [debug] QUERY OK source="settings" db=0.4ms idle=1103.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:39.086 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1102.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:39.087 [debug] QUERY OK source="settings" db=0.4ms idle=1102.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:39.091 [info] Sent 200 in 8ms 02:50:40.122 [info] GET /sources/1/force_index 02:50:40.123 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1038.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:40.123 [debug] QUERY OK source="settings" db=0.2ms idle=1038.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:40.124 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:50:40.124 [error] #PID<0.3406.0> running PinchflatWeb.Endpoint (connection #PID<0.3373.0>, stream id 25) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources/1/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3373.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 32782}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps" }, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3406.0>, params: %{}, path_info: ["sources", "1", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.trylik.pl"}, {"referer", "https://pinchflat.trylik.pl/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "74.7.243.221"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "877111519"} ], request_path: "/sources/1/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMBDo0Q8lp-NswAAXoC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3373.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 32782}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3373.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 32782}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{}, body_params: (truncated) 02:50:40.972 [info] GET /sources/1/sync_files_on_disk 02:50:40.973 [debug] QUERY OK source="settings" db=0.8ms idle=849.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:40.974 [debug] QUERY OK source="settings" db=0.6ms idle=850.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:40.974 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:50:40.975 [error] #PID<0.3407.0> running PinchflatWeb.Endpoint (connection #PID<0.3373.0>, stream id 26) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources/1/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3373.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 32782}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps" }, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3407.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.trylik.pl"}, {"referer", "https://pinchflat.trylik.pl/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "74.7.243.221"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "877111519"} ], request_path: "/sources/1/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMBDr-74ogmhx8AAXsC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3373.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 32782}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3373.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 32782}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 26, host_info: :undefined (truncated) 02:50:43.859 [info] GET /sources/1/force_redownload 02:50:43.860 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1214.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:43.861 [debug] QUERY OK source="settings" db=0.7ms idle=1215.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:43.862 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:50:43.862 [error] #PID<0.3408.0> running PinchflatWeb.Endpoint (connection #PID<0.3373.0>, stream id 27) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources/1/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3373.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 32782}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps" }, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3408.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.trylik.pl"}, {"referer", "https://pinchflat.trylik.pl/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "74.7.243.221"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "877111519"} ], request_path: "/sources/1/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMBD2vX2n35DRoAAXwC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3373.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 32782}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3373.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 32782}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, (truncated) 02:50:50.544 [info] {"source":"oban","duration":1330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:52.517 [info] GET /sources/1/force_metadata_refresh 02:50:52.518 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1872.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:52.519 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=898.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:52.519 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:50:52.520 [error] #PID<0.3410.0> running PinchflatWeb.Endpoint (connection #PID<0.3409.0>, stream id 1) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources/1/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3409.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 40596}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps" }, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3410.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.trylik.pl"}, {"referer", "https://pinchflat.trylik.pl/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "74.7.243.221"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "877111519"} ], request_path: "/sources/1/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMBEW_n9_unE_UAAX0C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3409.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 40596}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3409.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 40596}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, (truncated) 02:51:00.397 [info] {"source":"oban","duration":424,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:51:16.935 [info] GET /sources/1/force_download_pending 02:51:16.936 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1290.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:16.937 [debug] QUERY OK source="settings" db=0.7ms idle=1291.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:16.938 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:51:16.938 [error] #PID<0.3414.0> running PinchflatWeb.Endpoint (connection #PID<0.3413.0>, stream id 1) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources/1/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3413.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38202}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps" }, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3414.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.trylik.pl"}, {"referer", "https://pinchflat.trylik.pl/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "74.7.243.221"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "877111519"} ], request_path: "/sources/1/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMBFx9OFZsFCyEAAX8C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3413.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38202}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3413.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 38202}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, (truncated) 02:51:20.546 [info] {"source":"oban","duration":1360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:50.549 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:00.397 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:52:20.550 [info] {"source":"oban","duration":1268,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:50.552 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:00.399 [info] {"source":"oban","duration":462,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:53:20.555 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:24.441 [info] GET /sources/source-pn-001/feed.xml 02:53:24.441 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "source-pn-001"} Pipelines: [:maybe_basic_auth] 02:53:24.446 [debug] QUERY OK source="settings" db=0.3ms idle=800.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:24.447 [debug] QUERY OK source="settings" db=0.4ms idle=801.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:24.447 [debug] Converted error Ecto.Query.CastError to 400 response 02:53:24.448 [error] #PID<0.3427.0> running PinchflatWeb.Endpoint (connection #PID<0.3426.0>, stream id 1) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /sources/source-pn-001/feed.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Ecto.Query.CastError{ type: Ecto.UUID, value: "source-pn-001", message: "/app/deps/ecto/lib/ecto/repo/queryable.ex:487: value `\"source-pn-001\"` in `where` cannot be cast to type Ecto.UUID in query:\n\nfrom s0 in Pinchflat.Sources.Source,\n where: s0.uuid == ^\"source-pn-001\",\n select: s0\n" }, status: 400, stack: [ {Enum, :"-reduce/3-lists^foldl/2-0-", 3, [file: ~c"lib/enum.ex", line: 2546]}, {Enum, :"-map_reduce/3-lists^mapfoldl/2-0-", 3, [file: ~c"lib/enum.ex", line: 1840]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3426.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/source-pn-001/feed.xml", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 34962}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps", "from" => "gptbot(at)openai.com", "host" => "pinchflat.trylik.pl", "referer" => "https://pinchflat.trylik.pl/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "via" => "2.0 Caddy", "x-forwarded-for" => "74.7.243.221", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https", "x-openai-host-hash" => "877111519" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Ecto.Query.CastError{ type: Ecto.UUID, value: "source-pn-001", message: "/app/deps/ecto/lib/ecto/repo/queryable.ex:487: value `\"source-pn-001\"` in `where` cannot be cast to type Ecto.UUID in query:\n\nfrom s0 in Pinchflat.Sources.Source,\n where: s0.uuid == ^\"source-pn-001\",\n select: s0\n" }, status: 400, stack: [ {Enum, :"-reduce/3-lists^foldl/2-0-", 3, [file: ~c"lib/enum.ex", line: 2546]}, {Enum, :"-map_reduce/3-lists^mapfoldl/2-0-", 3, [file: ~c"lib/enum.ex", line: 1840]} ], kind: :error, layout: {PinchflatWeb.Layouts, "app"} }, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps" }, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3427.0>, params: %{"uuid" => "source-pn-001"}, path_info: ["sources", "source-pn-001", "feed"], path_params: %{"uuid" => "source-pn-001"}, port: 80, private: %{ PinchflatWeb.Router => [], :phoenix_template => "400.html", :phoenix_view => %{ :_ => PinchflatWeb.ErrorHTML, "html" => PinchflatWeb.Podcasts.PodcastHTML, "json" => PinchflatWeb.Podcasts.PodcastJSON }, :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_action => :rss_feed, :phoenix_layout => %{ :_ => {PinchflatWeb.Layouts, :app}, "html" => {PinchflatWeb.Layouts, :app} }, :phoenix_controller => PinchflatWeb.Podcasts.PodcastController, :phoenix_format => "html", :phoenix_root_layout => %{_: {PinchflatWeb.Layouts, :root}}, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUG00akxrRjNDdzFlNkVXZkRLR0ZhajZK.XJm577pFWgKadG4EFHbZPNwLKtOKQgZhLl6-mCyP8ps"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.trylik.pl"}, {"referer", "https://pinchflat.trylik.pl/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "74.7.243.221"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "877111519"} ], request_path: "/sources/source-pn-001/feed.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMBNM9BeAvlU94AAToB"} ], 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 02:53:50.557 [info] {"source":"oban","duration":1358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:00.400 [info] {"source":"oban","duration":442,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:54:20.559 [info] {"source":"oban","duration":1411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:50.561 [info] {"source":"oban","duration":1363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:00.402 [info] {"source":"oban","duration":465,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:55:20.564 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:50.567 [info] {"source":"oban","duration":1599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:00.403 [info] {"source":"oban","duration":404,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:56:20.568 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:50.571 [info] {"source":"oban","duration":1575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:00.404 [info] {"source":"oban","duration":335,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:57:20.572 [info] {"source":"oban","duration":1132,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:50.574 [info] {"source":"oban","duration":1039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:00.406 [info] {"source":"oban","duration":475,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:58:20.576 [info] {"source":"oban","duration":1154,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:50.578 [info] {"source":"oban","duration":1274,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:00.406 [info] {"source":"oban","duration":381,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:59:20.580 [info] {"source":"oban","duration":1460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:50.582 [info] {"source":"oban","duration":1303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:00.410 [info] {"source":"oban","duration":3148,"event":"plugin:stop","jobs":[6],"plugin":"Oban.Plugins.Cron"} 03:00:00.418 [info] {"args":{},"id":6,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1775264400418244509,"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.421 [debug] QUERY OK source="media_items" db=1.1ms queue=0.5ms idle=767.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" 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.421 [info] Culling 0 media items past their retention date 03:00:00.422 [debug] QUERY OK source="media_items" db=0.5ms queue=0.4ms idle=769.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 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.422 [info] Deleting 0 media items that are from before the source cutoff 03:00:00.423 [info] {"args":{},"id":6,"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":4739,"event":"job:stop","queue_time":416428,"attempt":1,"tags":["media_item","local_data"]} 03:00:20.584 [info] {"source":"oban","duration":1208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:50.586 [info] {"source":"oban","duration":1439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:00.412 [info] {"source":"oban","duration":448,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:01:20.588 [info] {"source":"oban","duration":1223,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:33.221 [info] GET /media_profiles/new 03:01:33.221 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{"template_id" => "1"} Pipelines: [:browser] 03:01:33.222 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1570.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 03:01:33.223 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1571.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:01:33.224 [debug] QUERY OK source="settings" db=0.2ms idle=1572.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:01:33.225 [debug] QUERY OK source="settings" db=0.3ms idle=1267.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:01:33.227 [debug] QUERY OK source="settings" db=0.5ms idle=267.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:01:33.228 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 03:01:33.232 [info] Sent 200 in 10ms 03:01:50.590 [info] {"source":"oban","duration":1343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:52.416 [info] GET /sources/1 03:01:52.417 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "1"} Pipelines: [:browser] 03:01:52.418 [debug] QUERY OK source="sources" db=0.5ms idle=1765.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 03:01:52.419 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms idle=1766.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:01:52.420 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=1421.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 03:01:52.422 [debug] QUERY OK source="settings" db=0.5ms queue=0.6ms idle=769.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:01:52.423 [debug] QUERY OK source="settings" db=0.7ms idle=423.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:01:52.424 [debug] QUERY OK source="settings" db=0.2ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:01:52.427 [debug] QUERY OK source="sources" db=0.4ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 03:01:52.428 [debug] QUERY OK source="media_items" db=0.6ms idle=7.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 03:01:52.429 [debug] QUERY OK source="media_items" db=1.0ms idle=6.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 03:01:52.430 [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" = ?) [1] 03:01:52.431 [debug] QUERY OK source="media_items" db=0.1ms idle=6.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 03:01:52.431 [debug] QUERY OK source="media_items" db=0.4ms idle=4.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 03:01:52.432 [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" = ?) [1] 03:01:52.433 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 03:01:52.434 [debug] QUERY OK source="media_items" db=1.0ms idle=2.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 03:01:52.435 [info] Sent 200 in 18ms 03:02:00.414 [info] {"source":"oban","duration":349,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:02:20.593 [info] {"source":"oban","duration":1528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:50.595 [info] {"source":"oban","duration":1203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:00.415 [info] {"source":"oban","duration":542,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:03:15.357 [info] GET /sources/new 03:03:15.357 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "1"} Pipelines: [:browser] 03:03:15.359 [debug] QUERY OK source="sources" db=0.4ms queue=0.6ms idle=1706.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 03:03:15.360 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=1708.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 03:03:15.361 [debug] QUERY OK source="settings" db=0.3ms queue=0.7ms idle=1709.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:03:15.362 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1183.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:03:15.363 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=181.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:03:15.364 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:03:15.365 [debug] QUERY OK source="settings" db=0.2ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:03:15.371 [info] Sent 200 in 14ms 03:03:20.597 [info] {"source":"oban","duration":1243,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:40.572 [info] GET /media_profiles/1 03:03:40.573 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"delete_files" => "true", "id" => "1"} Pipelines: [:browser] 03:03:40.574 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1922.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 03:03:40.575 [debug] QUERY OK source="sources" db=0.4ms 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."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 03:03:40.576 [debug] QUERY OK source="settings" db=0.5ms idle=1343.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:03:40.577 [debug] QUERY OK source="settings" db=0.4ms idle=925.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:03:40.578 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=344.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:03:40.581 [info] Sent 200 in 8ms 03:03:50.599 [info] {"source":"oban","duration":1356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:00.417 [info] {"source":"oban","duration":614,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:04:16.718 [info] GET /sources/1/media/1 03:04:16.718 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 03:04:16.719 [debug] QUERY OK source="media_items" db=0.4ms idle=1067.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" = ?) [1] 03:04:16.721 [debug] QUERY OK source="tasks" db=0.7ms idle=1068.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1] 03:04:16.721 [debug] QUERY OK source="sources" db=1.0ms idle=1068.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 03:04:16.722 [debug] QUERY OK source="oban_jobs" db=0.5ms queue=0.2ms idle=1070.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" = ?) [5] 03:04:16.723 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=416.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:04:16.724 [debug] QUERY OK source="settings" db=0.5ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:04:16.725 [debug] QUERY OK source="settings" db=0.2ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:04:16.727 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:04:16.731 [info] Sent 200 in 13ms 03:04:20.601 [info] {"source":"oban","duration":1227,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:23.136 [info] GET /sources/opml.xml 03:04:23.136 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "e9c99a50-2fd2-48b3-b9a1-dad2b965bcbf"} Pipelines: [:maybe_basic_auth, :token_protected_route] 03:04:23.137 [debug] QUERY OK source="settings" db=0.4ms idle=1485.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:04:23.138 [debug] QUERY OK source="sources" db=0.1ms queue=0.2ms idle=819.0ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 03:04:23.139 [info] Sent 200 in 2ms 03:04:25.802 [info] GET /media/f410e0f7-640a-4b56-b224-25bf334d4eea/stream 03:04:25.803 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "f410e0f7-640a-4b56-b224-25bf334d4eea", "v" => "1775262100"} Pipelines: [:maybe_basic_auth] 03:04:25.804 [debug] QUERY OK source="media_items" db=1.0ms idle=1151.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["f410e0f7-640a-4b56-b224-25bf334d4eea"] 03:04:25.805 [debug] Invalid range request for media item: f410e0f7-640a-4b56-b224-25bf334d4eea - serving full file 03:04:25.805 [info] Sent 200 in 2ms 03:04:50.603 [info] {"source":"oban","duration":1341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:00.417 [info] {"source":"oban","duration":371,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:05:20.605 [info] {"source":"oban","duration":1342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:50.607 [info] {"source":"oban","duration":1228,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:00.419 [info] {"source":"oban","duration":469,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:06:20.609 [info] {"source":"oban","duration":1297,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:50.612 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:00.420 [info] {"source":"oban","duration":441,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:07:20.613 [info] {"source":"oban","duration":1367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:50.616 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:00.421 [info] {"source":"oban","duration":413,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:08:20.617 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:50.620 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:00.422 [info] {"source":"oban","duration":485,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:09:20.621 [info] {"source":"oban","duration":1459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:50.623 [info] {"source":"oban","duration":1249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:00.424 [info] {"source":"oban","duration":484,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:10:20.625 [info] {"source":"oban","duration":1303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:50.627 [info] {"source":"oban","duration":1315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:00.424 [info] {"source":"oban","duration":427,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:11:20.629 [info] {"source":"oban","duration":1435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:50.631 [info] {"source":"oban","duration":1238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:00.426 [info] {"source":"oban","duration":571,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:12:20.633 [info] {"source":"oban","duration":1333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:50.635 [info] {"source":"oban","duration":1434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:00.426 [info] {"source":"oban","duration":430,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:13:20.637 [info] {"source":"oban","duration":1246,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:50.639 [info] {"source":"oban","duration":1161,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:00.428 [info] {"source":"oban","duration":535,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:14:20.641 [info] {"source":"oban","duration":1222,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:50.643 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:55.522 [info] GET / 03:14:55.522 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 03:14:55.523 [debug] QUERY OK source="settings" db=0.4ms idle=1869.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:14:55.524 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=1870.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 03:14:55.524 [debug] QUERY OK source="sources" db=0.2ms idle=1870.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 03:14:55.525 [debug] QUERY OK source="media_items" db=0.3ms idle=1823.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:14:55.525 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=822.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:14:55.527 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:14:55.527 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:14:55.528 [debug] QUERY OK source="settings" db=0.2ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:14:55.530 [debug] QUERY OK source="tasks" db=0.4ms idle=4.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 03:14:55.531 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:14:55.533 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=4.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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] 03:14:55.533 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 03:14:55.536 [debug] QUERY OK source="media_items" db=0.6ms idle=6.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 03:14:55.538 [debug] QUERY OK source="media_items" db=1.4ms idle=6.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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] 03:14:55.539 [info] Sent 200 in 16ms 03:15:00.429 [info] {"source":"oban","duration":530,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:15:20.645 [info] {"source":"oban","duration":1491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:50.648 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:00.430 [info] {"source":"oban","duration":611,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:16:20.649 [info] {"source":"oban","duration":1331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:50.652 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:00.432 [info] {"source":"oban","duration":467,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:17:20.653 [info] {"source":"oban","duration":1232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:50.655 [info] {"source":"oban","duration":1585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:00.433 [info] {"source":"oban","duration":453,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:18:20.657 [info] {"source":"oban","duration":1195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:50.659 [info] {"source":"oban","duration":1198,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:00.433 [info] {"source":"oban","duration":370,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:19:20.661 [info] {"source":"oban","duration":1363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:34.005 [info] CONNECTED TO Phoenix.LiveView.Socket in 73µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "EG0SegcJMCQDUVg_cDAAQi4kSggqHDVEtYPOOccT7aoj7H22ci2kKqRt", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "1", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 03:19:34.013 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 03:19:34.013 [debug] Replied in 219µs 03:19:38.249 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "_unused_unlock-pro-textbox" => "", "unlock-pro-textbox" => ""} 03:19:38.249 [debug] Replied in 307µs 03:19:50.663 [info] {"source":"oban","duration":1367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:00.434 [info] {"source":"oban","duration":425,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:20:20.665 [info] {"source":"oban","duration":1309,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:50.667 [info] {"source":"oban","duration":1173,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:00.436 [info] {"source":"oban","duration":444,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:21:20.669 [info] {"source":"oban","duration":1176,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:50.671 [info] {"source":"oban","duration":1258,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:53.192 [info] GET / 03:21:53.192 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 03:21:53.193 [debug] QUERY OK source="settings" db=0.7ms idle=594.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:21:53.194 [debug] QUERY OK source="media_profiles" db=0.4ms idle=540.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 03:21:53.195 [debug] QUERY OK source="sources" db=0.3ms idle=541.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 03:21:53.196 [debug] QUERY OK source="media_items" db=0.2ms idle=542.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:21:53.196 [debug] QUERY OK source="media_items" db=0.1ms idle=542.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:21:53.197 [debug] QUERY OK source="settings" db=0.6ms 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 [] 03:21:53.198 [debug] QUERY OK source="settings" db=0.5ms queue=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 [] 03:21:53.200 [debug] QUERY OK source="settings" db=0.5ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:21:53.202 [debug] QUERY OK source="tasks" db=0.7ms idle=5.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 03:21:53.203 [debug] QUERY OK source="media_items" db=0.2ms decode=0.1ms idle=6.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:21:53.205 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=6.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 03:21:53.206 [debug] QUERY OK source="sources" db=0.5ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 03:21:53.207 [debug] QUERY OK source="media_items" db=0.3ms idle=7.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 03:21:53.208 [debug] QUERY OK source="media_items" db=1.1ms idle=5.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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] 03:21:53.209 [info] Sent 200 in 17ms 03:22:00.436 [info] {"source":"oban","duration":453,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:22:20.673 [info] {"source":"oban","duration":1141,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:50.675 [info] {"source":"oban","duration":1421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:00.438 [info] {"source":"oban","duration":969,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:23:20.677 [info] {"source":"oban","duration":1299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:50.680 [info] {"source":"oban","duration":1596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:00.440 [info] {"source":"oban","duration":435,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:24:20.681 [info] {"source":"oban","duration":1293,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:50.683 [info] {"source":"oban","duration":1280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:00.441 [info] {"source":"oban","duration":451,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:25:20.686 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:50.687 [info] {"source":"oban","duration":1240,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:00.442 [info] {"source":"oban","duration":402,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:26:20.689 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:50.691 [info] {"source":"oban","duration":1232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:00.442 [info] {"source":"oban","duration":331,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:27:20.693 [info] {"source":"oban","duration":1286,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:50.695 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:00.444 [info] {"source":"oban","duration":387,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:28:05.522 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "EG0SegcJMCQDUVg_cDAAQi4kSggqHDVEtYPOOccT7aoj7H22ci2kKqRt", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "2", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 03:28:05.529 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 03:28:05.529 [debug] Replied in 183µs 03:28:20.698 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:50.699 [info] {"source":"oban","duration":1195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:00.445 [info] {"source":"oban","duration":454,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:29:20.701 [info] {"source":"oban","duration":1125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:50.703 [info] {"source":"oban","duration":1081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:00.447 [info] {"source":"oban","duration":544,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:30:20.705 [info] {"source":"oban","duration":1321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:50.707 [info] {"source":"oban","duration":1237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:00.447 [info] {"source":"oban","duration":389,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:31:20.709 [info] {"source":"oban","duration":1192,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:50.711 [info] {"source":"oban","duration":1356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:00.449 [info] {"source":"oban","duration":406,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:32:20.713 [info] {"source":"oban","duration":1488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:50.715 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:00.451 [info] {"source":"oban","duration":490,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:33:09.489 [info] GET / 03:33:09.490 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 03:33:09.491 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1462.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:33:09.491 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=836.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 03:33:09.492 [debug] QUERY OK source="sources" db=0.2ms queue=0.2ms idle=837.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 03:33:09.493 [debug] QUERY OK source="media_items" db=0.3ms idle=837.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:33:09.493 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=463.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:33:09.494 [debug] QUERY OK source="settings" db=0.2ms 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 [] 03:33:09.495 [debug] QUERY OK source="settings" db=0.4ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:33:09.496 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:33:09.498 [debug] QUERY OK source="tasks" db=0.5ms idle=4.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 03:33:09.499 [debug] QUERY OK source="media_items" db=0.4ms idle=4.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:33:09.500 [debug] QUERY OK source="media_items" db=0.5ms idle=4.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 03:33:09.500 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 03:33:09.502 [debug] QUERY OK source="media_items" db=0.4ms idle=5.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 03:33:09.503 [debug] QUERY OK source="media_items" db=0.9ms idle=4.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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] 03:33:09.505 [info] Sent 200 in 15ms 03:33:20.717 [info] {"source":"oban","duration":1490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:50.719 [info] {"source":"oban","duration":1351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:00.452 [info] {"source":"oban","duration":439,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:34:20.722 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:50.723 [info] {"source":"oban","duration":1177,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:00.453 [info] {"source":"oban","duration":392,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:35:20.725 [info] {"source":"oban","duration":1482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:34.764 [info] GET / 03:35:34.764 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 03:35:34.766 [debug] QUERY OK source="settings" db=0.8ms idle=423.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:34.767 [debug] QUERY OK source="media_profiles" db=1.0ms idle=111.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 03:35:34.768 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=113.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 03:35:34.769 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=114.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:35:34.770 [debug] QUERY OK source="media_items" db=0.7ms idle=115.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:35:34.772 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:34.772 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:34.773 [debug] QUERY OK source="settings" db=0.3ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:34.775 [debug] QUERY OK source="tasks" db=0.3ms idle=5.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 03:35:34.776 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:35:34.777 [debug] QUERY OK source="media_items" db=1.1ms idle=4.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 03:35:34.778 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 03:35:34.780 [debug] QUERY OK source="media_items" db=0.4ms 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"))) [] 03:35:34.781 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=4.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 03:35:34.782 [info] Sent 200 in 18ms 03:35:34.883 [info] GET /assets/js/auth.js 03:35:34.884 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=107.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:34.885 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=107.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:34.885 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 03:35:34.886 [error] #PID<0.3695.0> running PinchflatWeb.Endpoint (connection #PID<0.3692.0>, stream id 3) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /assets/js/auth.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/auth (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/auth.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3695.0>, params: %{}, path_info: ["assets", "js", "auth"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/assets/js/auth.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMDgflgMZ949a0AAbUC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/auth.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/auth (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/auth.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3695.0>, params: %{}, path_info: ["assets", "js", "auth"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, (truncated) 03:35:34.918 [info] GET /js/twint_ch.js 03:35:34.919 [debug] QUERY OK source="settings" db=0.5ms 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 [] 03:35:34.920 [debug] QUERY OK source="settings" db=0.3ms idle=140.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:34.920 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 03:35:34.921 [error] #PID<0.3696.0> running PinchflatWeb.Endpoint (connection #PID<0.3692.0>, stream id 4) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /js/twint_ch.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/twint_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3696.0>, params: %{}, path_info: ["js", "twint_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/js/twint_ch.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMDgft5xJzFF-4AAZAB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/twint_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3696.0>, params: %{}, path_info: ["js", "twint_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => (truncated) 03:35:35.029 [info] GET /bot-connect.js 03:35:35.030 [debug] QUERY OK source="settings" db=0.5ms idle=248.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:35.031 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=146.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:35.031 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 03:35:35.032 [error] #PID<0.3698.0> running PinchflatWeb.Endpoint (connection #PID<0.3692.0>, stream id 6) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /bot-connect.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bot-connect (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bot-connect.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3698.0>, params: %{}, path_info: ["bot-connect"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/bot-connect.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMDggIO2r8pyPEAAZEB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bot-connect.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bot-connect (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bot-connect.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3698.0>, params: %{}, path_info: ["bot-connect"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"req (truncated) 03:35:35.071 [info] GET /assets/js/message.js 03:35:35.072 [debug] QUERY OK source="settings" db=0.3ms idle=186.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:35.073 [debug] QUERY OK source="settings" db=0.2ms idle=153.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:35.073 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 03:35:35.074 [error] #PID<0.3699.0> running PinchflatWeb.Endpoint (connection #PID<0.3692.0>, stream id 7) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /assets/js/message.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/message (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/message.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3699.0>, params: %{}, path_info: ["assets", "js", "message"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/assets/js/message.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMDggSYjpR2epQAAZIB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/message.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/message (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/message.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3699.0>, params: %{}, path_info: ["assets", "js", "message"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => (truncated) 03:35:35.105 [info] GET /static/style/protect/index.js 03:35:35.106 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=185.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:35.107 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=76.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:35.107 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 03:35:35.108 [error] #PID<0.3700.0> running PinchflatWeb.Endpoint (connection #PID<0.3692.0>, stream id 8) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /static/style/protect/index.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/protect/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/protect/index.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3700.0>, params: %{}, path_info: ["static", "style", "protect", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/static/style/protect/index.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMDggaTI6c6AAgAAZMB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/protect/index.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/protect/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/protect/index.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3700.0>, params: %{}, path_info: ["static", "style", "protect", "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, (truncated) 03:35:35.148 [info] GET /js/lkk_ch.js 03:35:35.149 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=117.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:35.150 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=77.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:35.150 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 03:35:35.151 [error] #PID<0.3701.0> running PinchflatWeb.Endpoint (connection #PID<0.3692.0>, stream id 9) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /js/lkk_ch.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/lkk_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3701.0>, params: %{}, path_info: ["js", "lkk_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/js/lkk_ch.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMDggkmaWUOZrsAAZQB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/lkk_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3701.0>, params: %{}, path_info: ["js", "lkk_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger" (truncated) 03:35:35.225 [info] GET /assets/js/qr_modal.js 03:35:35.226 [debug] QUERY OK source="settings" db=0.3ms idle=152.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:35.227 [debug] QUERY OK source="settings" db=0.5ms idle=120.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:35.227 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 03:35:35.228 [error] #PID<0.3703.0> running PinchflatWeb.Endpoint (connection #PID<0.3692.0>, stream id 11) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /assets/js/qr_modal.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/qr_modal (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/qr_modal.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3703.0>, params: %{}, path_info: ["assets", "js", "qr_modal"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/assets/js/qr_modal.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMDgg3DhPzMKdMAAZUB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/qr_modal.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/qr_modal (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/qr_modal.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3703.0>, params: %{}, path_info: ["assets", "js", "qr_modal"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoe (truncated) 03:35:35.312 [info] GET /css/support_parent.css 03:35:35.313 [debug] QUERY OK source="settings" db=0.3ms idle=206.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:35.314 [debug] QUERY OK source="settings" db=0.3ms idle=164.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:35.314 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 03:35:35.315 [error] #PID<0.3705.0> running PinchflatWeb.Endpoint (connection #PID<0.3692.0>, stream id 13) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /css/support_parent.css ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /css/support_parent (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3705.0>, params: %{}, path_info: ["css", "support_parent"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/css/support_parent.css", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMDghL1eM5za1cAAZYB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /css/support_parent (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3705.0>, params: %{}, path_info: ["css", "support_parent"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoen (truncated) 03:35:35.454 [info] GET /static/style/sys_files/index.js 03:35:35.455 [debug] QUERY OK source="settings" db=0.5ms idle=228.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:35.457 [debug] QUERY OK source="settings" db=0.7ms idle=228.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:35.457 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 03:35:35.457 [error] #PID<0.3708.0> running PinchflatWeb.Endpoint (connection #PID<0.3692.0>, stream id 16) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /static/style/sys_files/index.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/sys_files/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/sys_files/index.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3708.0>, params: %{}, path_info: ["static", "style", "sys_files", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/static/style/sys_files/index.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMDghtsEpiS9GMAAZcB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/sys_files/index.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/sys_files/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3692.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/sys_files/index.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 49852}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.3708.0>, params: %{}, path_info: ["static", "style", "sys_files", "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 => PinchflatW (truncated) 03:35:50.727 [info] {"source":"oban","duration":1235,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:00.453 [info] {"source":"oban","duration":458,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:36:20.729 [info] {"source":"oban","duration":1205,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:50.731 [info] {"source":"oban","duration":1249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:00.455 [info] {"source":"oban","duration":570,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:37:20.733 [info] {"source":"oban","duration":1344,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:50.735 [info] {"source":"oban","duration":1439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:00.457 [info] {"source":"oban","duration":466,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:38:20.737 [info] {"source":"oban","duration":1121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:50.739 [info] {"source":"oban","duration":1442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:00.458 [info] {"source":"oban","duration":544,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:39:20.741 [info] {"source":"oban","duration":1297,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:50.743 [info] {"source":"oban","duration":1247,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:00.459 [info] {"source":"oban","duration":424,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:40:20.746 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:50.748 [info] {"source":"oban","duration":1347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:00.460 [info] {"source":"oban","duration":374,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:41:20.751 [info] {"source":"oban","duration":1587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:50.752 [info] {"source":"oban","duration":1280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:00.461 [info] {"source":"oban","duration":408,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:42:20.754 [info] {"source":"oban","duration":1282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:50.756 [info] {"source":"oban","duration":1250,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:00.461 [info] {"source":"oban","duration":352,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:43:20.758 [info] {"source":"oban","duration":1365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:50.760 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:00.462 [info] {"source":"oban","duration":364,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:44:20.762 [info] {"source":"oban","duration":1101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:50.764 [info] {"source":"oban","duration":1347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:00.464 [info] {"source":"oban","duration":456,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:45:20.766 [info] {"source":"oban","duration":1322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:50.768 [info] {"source":"oban","duration":1121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:00.464 [info] {"source":"oban","duration":429,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:46:04.612 [info] CONNECTED TO Phoenix.LiveView.Socket in 146µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "EG0SegcJMCQDUVg_cDAAQi4kSggqHDVEtYPOOccT7aoj7H22ci2kKqRt", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "3", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 03:46:04.618 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 03:46:04.618 [debug] Replied in 272µs 03:46:20.770 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:50.774 [info] {"source":"oban","duration":2585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:00.466 [info] {"source":"oban","duration":502,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:47:20.777 [info] {"source":"oban","duration":1451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:50.779 [info] {"source":"oban","duration":1474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:00.468 [info] {"source":"oban","duration":531,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:48:20.780 [info] {"source":"oban","duration":1437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:50.783 [info] {"source":"oban","duration":1659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:00.470 [info] {"source":"oban","duration":475,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:49:20.786 [info] {"source":"oban","duration":2058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:50.788 [info] {"source":"oban","duration":1329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:00.470 [info] {"source":"oban","duration":408,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:50:20.791 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:50.792 [info] {"source":"oban","duration":1240,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:00.472 [info] {"source":"oban","duration":399,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:51:20.794 [info] {"source":"oban","duration":1220,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:50.797 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:00.472 [info] {"source":"oban","duration":354,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:52:20.798 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:50.800 [info] {"source":"oban","duration":1079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:00.474 [info] {"source":"oban","duration":594,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:53:20.802 [info] {"source":"oban","duration":1176,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:50.804 [info] {"source":"oban","duration":1120,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:00.476 [info] {"source":"oban","duration":445,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:54:20.806 [info] {"source":"oban","duration":1158,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:50.808 [info] {"source":"oban","duration":1258,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:00.477 [info] {"source":"oban","duration":427,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:55:20.810 [info] {"source":"oban","duration":1206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:50.812 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:00.478 [info] {"source":"oban","duration":514,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:56:20.814 [info] {"source":"oban","duration":1322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:50.816 [info] {"source":"oban","duration":1366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:00.480 [info] {"source":"oban","duration":419,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:57:20.819 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:50.820 [info] {"source":"oban","duration":1244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:00.481 [info] {"source":"oban","duration":431,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:58:20.822 [info] {"source":"oban","duration":1269,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:50.824 [info] {"source":"oban","duration":1323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:00.481 [info] {"source":"oban","duration":399,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:59:20.826 [info] {"source":"oban","duration":1242,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:50.828 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:00.486 [info] {"source":"oban","duration":3740,"event":"plugin:stop","jobs":[7],"plugin":"Oban.Plugins.Cron"} 04:00:00.492 [info] {"args":{},"id":7,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1775268000492555812,"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.494 [debug] QUERY OK source="media_items" db=0.3ms queue=0.4ms idle=1833.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((NOT (m0."media_filepath" IS NULL) 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.494 [info] Redownloading 0 media items 04:00:00.495 [info] {"args":{},"id":7,"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":1833,"event":"job:stop","queue_time":491390,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:20.830 [info] {"source":"oban","duration":1239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:50.832 [info] {"source":"oban","duration":1184,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:00.488 [info] {"source":"oban","duration":461,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:01:20.834 [info] {"source":"oban","duration":1155,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:50.836 [info] {"source":"oban","duration":1163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:00.489 [info] {"source":"oban","duration":436,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:02:20.838 [info] {"source":"oban","duration":1168,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:50.840 [info] {"source":"oban","duration":1039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:00.489 [info] {"source":"oban","duration":307,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:03:20.842 [info] {"source":"oban","duration":1261,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:50.844 [info] {"source":"oban","duration":1341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:00.491 [info] {"source":"oban","duration":472,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:04:20.846 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:50.848 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:00.492 [info] {"source":"oban","duration":458,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:05:20.850 [info] {"source":"oban","duration":1349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:50.852 [info] {"source":"oban","duration":1321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:00.494 [info] {"source":"oban","duration":420,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:06:20.854 [info] {"source":"oban","duration":1356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:50.856 [info] {"source":"oban","duration":1288,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:00.494 [info] {"source":"oban","duration":384,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:07:20.859 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:50.860 [info] {"source":"oban","duration":1222,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:00.495 [info] {"source":"oban","duration":367,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:08:20.862 [info] {"source":"oban","duration":1257,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:50.864 [info] {"source":"oban","duration":1267,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:00.497 [info] {"source":"oban","duration":505,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:09:20.866 [info] {"source":"oban","duration":1280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:50.868 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:00.499 [info] {"source":"oban","duration":430,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:10:20.870 [info] {"source":"oban","duration":1206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:50.872 [info] {"source":"oban","duration":1297,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:00.500 [info] {"source":"oban","duration":449,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:11:20.874 [info] {"source":"oban","duration":1265,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:50.876 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:00.501 [info] {"source":"oban","duration":604,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:12:20.878 [info] {"source":"oban","duration":1184,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:50.880 [info] {"source":"oban","duration":1190,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:00.501 [info] {"source":"oban","duration":442,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:13:20.882 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:50.884 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:00.503 [info] {"source":"oban","duration":507,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:14:20.886 [info] {"source":"oban","duration":1494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:50.888 [info] {"source":"oban","duration":1388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:00.503 [info] {"source":"oban","duration":323,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:15:20.891 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:50.893 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:00.504 [info] {"source":"oban","duration":375,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:16:20.894 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:50.897 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:00.506 [info] {"source":"oban","duration":451,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:17:20.898 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:50.900 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:00.507 [info] {"source":"oban","duration":576,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:18:20.902 [info] {"source":"oban","duration":1440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:50.904 [info] {"source":"oban","duration":1242,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:00.508 [info] {"source":"oban","duration":465,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:19:20.906 [info] {"source":"oban","duration":890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:50.908 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:00.509 [info] {"source":"oban","duration":440,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:20:20.910 [info] {"source":"oban","duration":1332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:50.912 [info] {"source":"oban","duration":1331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:00.510 [info] {"source":"oban","duration":588,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:21:20.914 [info] {"source":"oban","duration":1260,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:50.916 [info] {"source":"oban","duration":1210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:00.512 [info] {"source":"oban","duration":423,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:22:20.918 [info] {"source":"oban","duration":1303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:50.920 [info] {"source":"oban","duration":1367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:00.512 [info] {"source":"oban","duration":401,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:23:20.923 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:50.924 [info] {"source":"oban","duration":1160,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:00.513 [info] {"source":"oban","duration":360,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:24:20.926 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:50.928 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:59.010 [info] GET / 04:24:59.010 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:24:59.011 [debug] QUERY OK source="settings" db=0.6ms idle=460.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:24:59.012 [debug] QUERY OK source="media_profiles" db=0.4ms idle=348.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:24:59.013 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=349.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:24:59.014 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=349.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:24:59.015 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=350.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:24:59.016 [debug] QUERY OK source="settings" db=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 [] 04:24:59.017 [debug] QUERY OK source="settings" db=0.5ms 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 [] 04:24:59.018 [debug] QUERY OK source="settings" db=0.3ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:24:59.020 [debug] QUERY OK source="tasks" db=0.6ms idle=5.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 04:24:59.021 [debug] QUERY OK source="media_items" db=0.2ms idle=5.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:24:59.022 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=5.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:24:59.023 [debug] QUERY OK source="sources" db=0.5ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 04:24:59.026 [debug] QUERY OK source="media_items" db=0.2ms idle=7.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:24:59.027 [debug] QUERY OK source="media_items" db=0.5ms idle=6.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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] 04:24:59.028 [info] Sent 200 in 18ms 04:24:59.331 [info] GET / 04:24:59.331 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:24:59.332 [debug] QUERY OK source="settings" db=0.3ms idle=310.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:24:59.332 [debug] QUERY OK source="media_profiles" db=0.2ms idle=309.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:24:59.333 [debug] QUERY OK source="sources" db=0.3ms idle=309.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:24:59.334 [debug] QUERY OK source="media_items" db=0.2ms idle=307.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:24:59.334 [debug] QUERY OK source="media_items" db=0.2ms queue=0.4ms idle=307.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:24:59.335 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:24:59.336 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 04:24:59.337 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:24:59.339 [debug] QUERY OK source="tasks" db=0.5ms idle=5.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 04:24:59.340 [debug] QUERY OK source="media_items" db=0.3ms idle=5.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:24:59.341 [debug] QUERY OK source="media_items" db=0.6ms idle=5.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:24:59.342 [debug] QUERY OK source="sources" db=0.4ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 04:24:59.344 [debug] QUERY OK source="media_items" db=0.3ms idle=5.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:24:59.345 [debug] QUERY OK source="media_items" db=0.9ms idle=4.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:24:59.346 [info] Sent 200 in 14ms 04:24:59.661 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "aFo4HQ4sH30EAggfAT1BOlg3DQclZ3QuZbkVF_wPeJ0YEl8t6dlnG_5T", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 04:24:59.707 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "28SKHsh-aH8FDQyNnSaib8Az", "media_state" => "downloaded"} 04:24:59.708 [debug] QUERY OK source="media_items" db=0.3ms idle=366.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)) [] 04:24:59.709 [debug] QUERY OK source="media_items" db=0.8ms idle=366.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:24:59.710 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=366.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 04:24:59.710 [debug] Replied in 3ms 04:24:59.713 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "28SKHsh-aH8FDQyNnSaib8Az", "media_state" => "pending"} 04:24:59.714 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=368.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:24:59.716 [debug] QUERY OK source="media_items" db=1.3ms idle=162.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] 04:24:59.716 [debug] Replied in 2ms 04:24:59.717 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "28SKHsh-aH8FDQyNnSaib8Az"} 04:24:59.718 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=9.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"] 04:24:59.718 [debug] Replied in 1ms 04:24:59.719 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "28SKHsh-aH8FDQyNnSaib8Az"} 04:24:59.719 [debug] Replied in 172µs 04:25:00.175 [info] GET / 04:25:00.175 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:25:00.177 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=466.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:25:00.178 [debug] QUERY OK source="media_profiles" db=0.9ms idle=466.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:25:00.179 [debug] QUERY OK source="sources" db=0.6ms queue=0.4ms idle=464.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:25:00.180 [debug] QUERY OK source="media_items" db=0.4ms queue=0.5ms idle=463.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:25:00.182 [debug] QUERY OK source="media_items" db=0.3ms queue=0.5ms idle=462.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:25:00.182 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:25:00.183 [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 [] 04:25:00.184 [debug] QUERY OK source="settings" db=0.4ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:25:00.187 [debug] QUERY OK source="tasks" db=0.8ms idle=5.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 04:25:00.188 [debug] QUERY OK source="media_items" db=0.1ms idle=5.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:25:00.188 [debug] QUERY OK source="media_items" db=0.4ms idle=5.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:25:00.189 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 04:25:00.190 [debug] QUERY OK source="media_items" db=0.3ms 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"))) [] 04:25:00.191 [debug] QUERY OK source="media_items" db=0.7ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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] 04:25:00.192 [info] Sent 200 in 16ms 04:25:00.514 [info] {"source":"oban","duration":483,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:25:20.930 [info] {"source":"oban","duration":1339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:50.932 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:00.516 [info] {"source":"oban","duration":562,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:26:20.934 [info] {"source":"oban","duration":1219,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:50.936 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:00.516 [info] {"source":"oban","duration":359,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:27:20.938 [info] {"source":"oban","duration":1267,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:50.940 [info] {"source":"oban","duration":1120,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:00.518 [info] {"source":"oban","duration":521,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:28:20.942 [info] {"source":"oban","duration":1328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:50.944 [info] {"source":"oban","duration":1316,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:00.519 [info] {"source":"oban","duration":529,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:29:20.946 [info] {"source":"oban","duration":1206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:50.948 [info] {"source":"oban","duration":1326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:00.521 [info] {"source":"oban","duration":413,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:30:20.951 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:50.952 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:00.522 [info] {"source":"oban","duration":418,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:31:20.954 [info] {"source":"oban","duration":1286,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:50.956 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:00.522 [info] {"source":"oban","duration":390,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:32:20.958 [info] {"source":"oban","duration":1343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:50.960 [info] {"source":"oban","duration":1251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:00.524 [info] {"source":"oban","duration":457,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:33:20.962 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:50.964 [info] {"source":"oban","duration":1131,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:00.525 [info] {"source":"oban","duration":426,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:34:20.966 [info] {"source":"oban","duration":1210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:50.968 [info] {"source":"oban","duration":1192,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:00.525 [info] {"source":"oban","duration":399,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:35:20.970 [info] {"source":"oban","duration":1214,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:50.972 [info] {"source":"oban","duration":1109,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:00.527 [info] {"source":"oban","duration":454,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:36:20.974 [info] {"source":"oban","duration":1164,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:50.976 [info] {"source":"oban","duration":1336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:00.528 [info] {"source":"oban","duration":421,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:37:20.979 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:50.980 [info] {"source":"oban","duration":1300,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:00.529 [info] {"source":"oban","duration":460,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:38:20.982 [info] {"source":"oban","duration":1331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:50.984 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:00.529 [info] {"source":"oban","duration":415,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:39:20.987 [info] {"source":"oban","duration":1678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:50.989 [info] {"source":"oban","duration":1356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:00.530 [info] {"source":"oban","duration":396,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:40:20.991 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:50.993 [info] {"source":"oban","duration":1266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:00.531 [info] {"source":"oban","duration":351,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:41:20.995 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:50.996 [info] {"source":"oban","duration":1261,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:00.533 [info] {"source":"oban","duration":441,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:42:20.998 [info] {"source":"oban","duration":1364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:51.000 [info] {"source":"oban","duration":1197,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:00.533 [info] {"source":"oban","duration":387,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:43:21.002 [info] {"source":"oban","duration":1242,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:51.004 [info] {"source":"oban","duration":1238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:00.535 [info] {"source":"oban","duration":707,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:44:21.006 [info] {"source":"oban","duration":1137,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:51.008 [info] {"source":"oban","duration":1048,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:00.537 [info] {"source":"oban","duration":450,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:45:21.010 [info] {"source":"oban","duration":1131,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:38.218 [info] CONNECTED TO Phoenix.LiveView.Socket in 76µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "EG0SegcJMCQDUVg_cDAAQi4kSggqHDVEtYPOOccT7aoj7H22ci2kKqRt", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "4", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 04:45:38.225 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 04:45:38.226 [debug] Replied in 225µs 04:45:51.012 [info] {"source":"oban","duration":1342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:00.538 [info] {"source":"oban","duration":442,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:46:21.014 [info] {"source":"oban","duration":1075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:51.016 [info] {"source":"oban","duration":1387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:00.538 [info] {"source":"oban","duration":390,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:47:21.019 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:51.020 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:00.539 [info] {"source":"oban","duration":411,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:48:21.022 [info] {"source":"oban","duration":1203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:51.025 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:00.540 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:49:21.026 [info] {"source":"oban","duration":1440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:51.028 [info] {"source":"oban","duration":1183,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:00.542 [info] {"source":"oban","duration":450,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:50:21.030 [info] {"source":"oban","duration":1199,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:51.032 [info] {"source":"oban","duration":1273,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:00.543 [info] {"source":"oban","duration":447,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:51:21.035 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:51.037 [info] {"source":"oban","duration":1439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:00.544 [info] {"source":"oban","duration":501,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:52:21.038 [info] {"source":"oban","duration":1321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:51.040 [info] {"source":"oban","duration":1189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:00.546 [info] {"source":"oban","duration":463,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:53:21.042 [info] {"source":"oban","duration":1291,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:51.044 [info] {"source":"oban","duration":1441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:00.547 [info] {"source":"oban","duration":460,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:54:21.046 [info] {"source":"oban","duration":1358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:51.048 [info] {"source":"oban","duration":1288,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:00.548 [info] {"source":"oban","duration":412,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:55:21.051 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:51.053 [info] {"source":"oban","duration":1822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:00.548 [info] {"source":"oban","duration":370,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:56:21.056 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:51.059 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:00.550 [info] {"source":"oban","duration":441,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:57:21.061 [info] {"source":"oban","duration":1153,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:51.063 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:00.551 [info] {"source":"oban","duration":475,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:58:21.065 [info] {"source":"oban","duration":1303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:51.067 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:00.552 [info] {"source":"oban","duration":447,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:59:21.069 [info] {"source":"oban","duration":1122,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:51.071 [info] {"source":"oban","duration":1201,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:00.553 [info] {"source":"oban","duration":450,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:00:21.073 [info] {"source":"oban","duration":1303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:51.075 [info] {"source":"oban","duration":1129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:00.554 [info] {"source":"oban","duration":421,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:01:21.077 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:51.079 [info] {"source":"oban","duration":1328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:00.555 [info] {"source":"oban","duration":515,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:02:21.081 [info] {"source":"oban","duration":1298,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:51.084 [info] {"source":"oban","duration":1620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:00.556 [info] {"source":"oban","duration":573,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:03:21.085 [info] {"source":"oban","duration":1363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:51.088 [info] {"source":"oban","duration":1610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:00.556 [info] {"source":"oban","duration":417,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:04:21.090 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:51.091 [info] {"source":"oban","duration":1368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:00.557 [info] {"source":"oban","duration":331,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:05:09.227 [info] GET /app_info 05:05:09.228 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 05:05:09.230 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1564.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:09.231 [debug] QUERY OK source="settings" db=0.6ms idle=676.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:09.234 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=569.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:09.236 [debug] QUERY OK source="settings" db=0.6ms idle=571.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:09.237 [debug] QUERY OK source="settings" db=0.3ms idle=572.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:09.239 [info] Sent 200 in 12ms 05:05:21.093 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:51.095 [info] {"source":"oban","duration":1249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:52.788 [info] GET /media_profiles 05:05:52.788 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 05:05:52.788 [info] GET /sources/1 05:05:52.789 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 05:05:52.790 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.2ms idle=147.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 05:05:52.792 [debug] QUERY OK source="sources" db=1.9ms idle=125.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:05:52.794 [debug] QUERY OK source="settings" db=2.5ms queue=0.4ms idle=126.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:52.795 [debug] QUERY OK source="media_profiles" db=1.6ms queue=1.1ms idle=127.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] 05:05:52.797 [debug] QUERY OK source="settings" db=2.4ms queue=0.4ms idle=129.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:52.798 [debug] QUERY OK source="settings" db=0.2ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:52.798 [debug] QUERY OK source="tasks" db=1.4ms queue=0.5ms idle=5.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 05:05:52.799 [debug] QUERY OK source="settings" db=0.7ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:52.800 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:52.800 [info] Sent 200 in 12ms 05:05:52.801 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:52.803 [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" = ?) [1] 05:05:52.804 [debug] QUERY OK source="media_items" db=0.3ms idle=5.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 05:05:52.805 [debug] QUERY OK source="media_items" db=0.5ms idle=4.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 05:05:52.805 [debug] QUERY OK source="sources" db=0.3ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:05:52.806 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 05:05:52.807 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 05:05:52.808 [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" = ?) [1] 05:05:52.808 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 05:05:52.809 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 05:05:52.810 [info] Sent 200 in 21ms 05:06:00.559 [info] {"source":"oban","duration":443,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:06:21.097 [info] {"source":"oban","duration":1301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:51.099 [info] {"source":"oban","duration":1271,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:00.560 [info] {"source":"oban","duration":456,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:07:21.101 [info] {"source":"oban","duration":1278,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:51.103 [info] {"source":"oban","duration":1453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:00.560 [info] {"source":"oban","duration":445,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:08:21.105 [info] {"source":"oban","duration":1419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:51.107 [info] {"source":"oban","duration":1098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:00.562 [info] {"source":"oban","duration":462,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:09:14.014 [info] GET /settings 05:09:14.014 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 05:09:14.017 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=1350.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:09:14.018 [debug] QUERY OK source="settings" db=0.5ms idle=1352.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:09:14.019 [debug] QUERY OK source="settings" db=0.5ms idle=1353.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:09:14.020 [debug] QUERY OK source="settings" db=0.2ms idle=945.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:09:14.024 [info] Sent 200 in 9ms 05:09:21.109 [info] {"source":"oban","duration":1089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:51.111 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:00.563 [info] {"source":"oban","duration":463,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:10:21.113 [info] {"source":"oban","duration":1299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:51.115 [info] {"source":"oban","duration":1312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:00.564 [info] {"source":"oban","duration":450,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:11:21.117 [info] {"source":"oban","duration":1308,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:45.264 [info] GET /sources 05:11:45.264 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 05:11:45.265 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1600.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:11:45.266 [debug] QUERY OK source="settings" db=0.2ms idle=883.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:11:45.267 [debug] QUERY OK source="settings" db=0.2ms idle=602.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:11:45.269 [debug] QUERY OK source="settings" db=0.3ms idle=604.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:11:45.270 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=605.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:11:45.272 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=5.3ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 05:11:45.276 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms 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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 05:11:45.279 [info] Sent 200 in 15ms 05:11:51.119 [info] {"source":"oban","duration":1322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:00.564 [info] {"source":"oban","duration":375,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:12:21.121 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:51.123 [info] {"source":"oban","duration":1331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:00.565 [info] {"source":"oban","duration":314,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:13:21.125 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:51.127 [info] {"source":"oban","duration":1290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:00.567 [info] {"source":"oban","duration":428,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:14:21.129 [info] {"source":"oban","duration":1239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:51.131 [info] {"source":"oban","duration":1196,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:00.568 [info] {"source":"oban","duration":424,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:15:21.133 [info] {"source":"oban","duration":1322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:51.135 [info] {"source":"oban","duration":1161,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:00.568 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:16:21.137 [info] {"source":"oban","duration":1084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:27.903 [info] GET / 05:16:27.903 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:16:27.904 [debug] QUERY OK source="settings" db=0.5ms idle=1238.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:16:27.905 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1239.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:16:27.906 [debug] QUERY OK source="sources" db=0.3ms idle=1239.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:16:27.906 [debug] QUERY OK source="media_items" db=0.5ms idle=1240.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:16:27.908 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=945.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:16:27.909 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:16:27.910 [debug] QUERY OK source="settings" db=0.6ms 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 [] 05:16:27.912 [debug] QUERY OK source="settings" db=0.9ms 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 [] 05:16:27.914 [debug] QUERY OK source="tasks" db=0.2ms idle=7.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 05:16:27.915 [debug] QUERY OK source="media_items" db=0.3ms idle=6.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:16:27.916 [debug] QUERY OK source="media_items" db=0.7ms idle=6.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:16:27.916 [debug] QUERY OK source="sources" db=0.1ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:16:27.918 [debug] QUERY OK source="media_items" db=0.6ms idle=5.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 05:16:27.919 [debug] QUERY OK source="media_items" db=0.7ms idle=4.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:16:27.920 [info] Sent 200 in 16ms 05:16:51.139 [info] {"source":"oban","duration":1356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:00.570 [info] {"source":"oban","duration":523,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:17:21.142 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:51.143 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:00.571 [info] {"source":"oban","duration":436,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:18:21.145 [info] {"source":"oban","duration":1344,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:51.147 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:00.573 [info] {"source":"oban","duration":374,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:19:21.150 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:51.151 [info] {"source":"oban","duration":1289,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:00.573 [info] {"source":"oban","duration":364,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:20:21.153 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:51.155 [info] {"source":"oban","duration":1234,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:00.574 [info] {"source":"oban","duration":316,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:21:21.158 [info] {"source":"oban","duration":1498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:51.159 [info] {"source":"oban","duration":1266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:00.576 [info] {"source":"oban","duration":420,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:22:21.161 [info] {"source":"oban","duration":1328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:51.163 [info] {"source":"oban","duration":1269,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:00.577 [info] {"source":"oban","duration":412,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:23:21.165 [info] {"source":"oban","duration":1203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:51.167 [info] {"source":"oban","duration":1230,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:00.578 [info] {"source":"oban","duration":471,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:24:21.169 [info] {"source":"oban","duration":1200,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:51.171 [info] {"source":"oban","duration":1318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:00.579 [info] {"source":"oban","duration":419,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:25:09.544 [info] GET / 05:25:09.544 [info] GET / 05:25:09.544 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:25:09.544 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:25:09.548 [debug] QUERY OK source="settings" db=3.4ms idle=1502.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:09.549 [debug] QUERY OK source="settings" db=3.6ms idle=879.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:09.549 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.3ms idle=882.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:25:09.550 [debug] QUERY OK source="sources" db=0.3ms idle=504.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:25:09.550 [debug] QUERY OK source="media_items" db=0.2ms idle=1.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:25:09.551 [debug] QUERY OK source="media_items" db=0.3ms idle=1.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:25:09.551 [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 [] 05:25:09.552 [debug] QUERY OK source="media_profiles" db=3.2ms idle=882.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:25:09.552 [debug] QUERY OK source="settings" db=0.8ms 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 [] 05:25:09.553 [debug] QUERY OK source="sources" db=0.5ms idle=2.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:25:09.553 [debug] QUERY OK source="settings" db=0.5ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:09.555 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=1.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:25:09.555 [debug] QUERY OK source="tasks" db=0.2ms 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"] 05:25:09.555 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:25:09.557 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms 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)) [] 05:25:09.557 [debug] QUERY OK source="settings" db=1.9ms 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 [] 05:25:09.558 [debug] QUERY OK source="settings" db=0.0ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:09.558 [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 [] 05:25:09.559 [debug] QUERY OK source="media_items" db=0.6ms queue=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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:25:09.561 [debug] QUERY OK source="sources" db=1.1ms queue=0.3ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:25:09.563 [debug] QUERY OK source="tasks" db=1.8ms queue=0.4ms idle=2.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 05:25:09.563 [debug] QUERY OK source="media_items" db=1.2ms idle=4.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 05:25:09.563 [debug] QUERY OK source="media_items" db=0.6ms idle=4.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:25:09.564 [debug] QUERY OK source="media_items" db=1.1ms idle=3.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:25:09.565 [debug] QUERY OK source="media_items" db=1.1ms queue=0.2ms idle=2.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:25:09.565 [info] Sent 200 in 21ms 05:25:09.565 [debug] QUERY OK source="sources" db=0.3ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:25:09.567 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 05:25:09.567 [debug] QUERY OK source="media_items" db=0.5ms idle=3.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:25:09.568 [info] Sent 200 in 23ms 05:25:21.173 [info] {"source":"oban","duration":1217,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:51.175 [info] {"source":"oban","duration":1111,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:00.580 [info] {"source":"oban","duration":415,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:26:13.641 [info] GET / 05:26:13.642 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:26:13.643 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1458.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:13.644 [debug] QUERY OK source="media_profiles" db=0.6ms idle=977.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:26:13.645 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=977.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:26:13.645 [debug] QUERY OK source="media_items" db=0.3ms idle=978.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:26:13.646 [debug] QUERY OK source="media_items" db=0.1ms idle=459.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:26:13.647 [debug] QUERY OK source="settings" db=0.5ms 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 [] 05:26:13.647 [debug] QUERY OK source="settings" db=0.5ms 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 [] 05:26:13.649 [debug] QUERY OK source="settings" db=0.3ms 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 [] 05:26:13.650 [debug] QUERY OK source="tasks" db=0.3ms idle=4.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"] 05:26:13.651 [debug] QUERY OK source="media_items" db=0.3ms idle=4.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:26:13.652 [debug] QUERY OK source="media_items" db=1.0ms idle=4.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:26:13.653 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:26:13.655 [debug] QUERY OK source="media_items" db=0.7ms idle=6.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 05:26:13.657 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=5.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:26:13.658 [info] Sent 200 in 16ms 05:26:21.177 [info] {"source":"oban","duration":1396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:51.179 [info] {"source":"oban","duration":1311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:00.580 [info] {"source":"oban","duration":406,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:27:21.181 [info] {"source":"oban","duration":1280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:51.183 [info] {"source":"oban","duration":1355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:00.582 [info] {"source":"oban","duration":414,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:28:21.186 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:51.187 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:00.583 [info] {"source":"oban","duration":463,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:29:21.189 [info] {"source":"oban","duration":1330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:51.191 [info] {"source":"oban","duration":1287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:00.584 [info] {"source":"oban","duration":465,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:30:21.194 [info] {"source":"oban","duration":1737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:24.297 [info] CONNECTED TO Phoenix.LiveView.Socket in 817µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "EG0SegcJMCQDUVg_cDAAQi4kSggqHDVEtYPOOccT7aoj7H22ci2kKqRt", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "5", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 05:30:24.305 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 05:30:24.305 [debug] Replied in 122µs 05:30:51.197 [info] {"source":"oban","duration":1730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:00.585 [info] {"source":"oban","duration":507,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:31:21.199 [info] {"source":"oban","duration":1356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:51.201 [info] {"source":"oban","duration":1288,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:00.587 [info] {"source":"oban","duration":554,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:32:21.204 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:51.205 [info] {"source":"oban","duration":1308,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:00.588 [info] {"source":"oban","duration":434,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:33:21.207 [info] {"source":"oban","duration":1357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:51.210 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:00.590 [info] {"source":"oban","duration":502,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:34:21.212 [info] {"source":"oban","duration":1479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:51.213 [info] {"source":"oban","duration":1334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:00.592 [info] {"source":"oban","duration":419,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:35:21.215 [info] {"source":"oban","duration":1335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:51.217 [info] {"source":"oban","duration":1328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:00.593 [info] {"source":"oban","duration":422,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:36:21.219 [info] {"source":"oban","duration":1435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:51.222 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:00.594 [info] {"source":"oban","duration":415,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:37:21.223 [info] {"source":"oban","duration":1199,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:51.225 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:00.595 [info] {"source":"oban","duration":415,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:38:21.227 [info] {"source":"oban","duration":1199,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:51.229 [info] {"source":"oban","duration":1235,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:00.596 [info] {"source":"oban","duration":413,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:39:21.231 [info] {"source":"oban","duration":1290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:51.233 [info] {"source":"oban","duration":1330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:00.597 [info] {"source":"oban","duration":421,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:40:21.235 [info] {"source":"oban","duration":1106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:51.237 [info] {"source":"oban","duration":1139,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:00.598 [info] {"source":"oban","duration":391,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:41:21.239 [info] {"source":"oban","duration":1182,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:51.242 [info] {"source":"oban","duration":1635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:00.599 [info] {"source":"oban","duration":414,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:42:21.243 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:51.246 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:00.600 [info] {"source":"oban","duration":520,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:43:21.247 [info] {"source":"oban","duration":1307,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:51.250 [info] {"source":"oban","duration":1725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:00.600 [info] {"source":"oban","duration":392,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:44:21.253 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:51.254 [info] {"source":"oban","duration":1225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:00.602 [info] {"source":"oban","duration":392,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:45:21.256 [info] {"source":"oban","duration":1253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:51.258 [info] {"source":"oban","duration":1334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:00.603 [info] {"source":"oban","duration":423,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:46:21.261 [info] {"source":"oban","duration":1485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:51.262 [info] {"source":"oban","duration":1125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:00.604 [info] {"source":"oban","duration":463,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:47:21.264 [info] {"source":"oban","duration":1192,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:51.266 [info] {"source":"oban","duration":1242,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:00.604 [info] {"source":"oban","duration":411,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:48:21.268 [info] {"source":"oban","duration":1228,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:51.270 [info] {"source":"oban","duration":1089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:00.606 [info] {"source":"oban","duration":445,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:49:21.272 [info] {"source":"oban","duration":1236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:51.274 [info] {"source":"oban","duration":1247,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:00.607 [info] {"source":"oban","duration":415,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:50:21.276 [info] {"source":"oban","duration":1270,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:51.278 [info] {"source":"oban","duration":1338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:00.608 [info] {"source":"oban","duration":395,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:51:21.280 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:51.283 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:00.609 [info] {"source":"oban","duration":447,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:52:21.285 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:51.286 [info] {"source":"oban","duration":1286,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:00.610 [info] {"source":"oban","duration":565,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:53:21.288 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:51.290 [info] {"source":"oban","duration":1366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:00.612 [info] {"source":"oban","duration":476,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:54:21.292 [info] {"source":"oban","duration":1251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:51.294 [info] {"source":"oban","duration":1176,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:00.613 [info] {"source":"oban","duration":440,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:55:21.296 [info] {"source":"oban","duration":1164,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:51.298 [info] {"source":"oban","duration":1151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:00.613 [info] {"source":"oban","duration":417,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:56:21.300 [info] {"source":"oban","duration":1264,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:51.302 [info] {"source":"oban","duration":1099,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:00.615 [info] {"source":"oban","duration":433,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:57:21.304 [info] {"source":"oban","duration":1353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:51.306 [info] {"source":"oban","duration":1130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:00.615 [info] {"source":"oban","duration":418,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:58:21.308 [info] {"source":"oban","duration":1353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:51.311 [info] {"source":"oban","duration":1735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:00.617 [info] {"source":"oban","duration":362,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:59:21.313 [info] {"source":"oban","duration":1231,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:51.315 [info] {"source":"oban","duration":1341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:00.617 [info] {"source":"oban","duration":361,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:00:21.317 [info] {"source":"oban","duration":1365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:51.319 [info] {"source":"oban","duration":1368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:00.619 [info] {"source":"oban","duration":402,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:01:21.322 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:51.323 [info] {"source":"oban","duration":1200,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:00.619 [info] {"source":"oban","duration":358,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:02:21.325 [info] {"source":"oban","duration":1277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:51.327 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:00.621 [info] {"source":"oban","duration":438,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:03:21.330 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:27.771 [info] CONNECTED TO Phoenix.LiveView.Socket in 66µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "EG0SegcJMCQDUVg_cDAAQi4kSggqHDVEtYPOOccT7aoj7H22ci2kKqRt", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "6", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 06:03:27.777 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "d4B5HjSp407UGx2pMMxcamg0"} 06:03:27.777 [debug] Replied in 237µs 06:03:51.331 [info] {"source":"oban","duration":1233,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:00.621 [info] {"source":"oban","duration":420,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:04:21.333 [info] {"source":"oban","duration":1294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:35.173 [info] GET / 06:04:35.173 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 06:04:35.174 [debug] QUERY OK source="settings" db=0.3ms idle=504.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:04:35.175 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=505.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 06:04:35.176 [debug] QUERY OK source="sources" db=0.3ms idle=506.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 06:04:35.176 [debug] QUERY OK source="media_items" db=0.1ms idle=506.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:04:35.177 [debug] QUERY OK source="media_items" db=0.4ms idle=87.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:04:35.178 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 06:04:35.178 [debug] QUERY OK source="settings" db=0.5ms 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 [] 06:04:35.180 [debug] QUERY OK source="settings" db=0.2ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:04:35.181 [debug] QUERY OK source="tasks" db=0.4ms idle=4.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 06:04:35.182 [debug] QUERY OK source="media_items" db=0.5ms idle=4.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:04:35.184 [debug] QUERY OK source="media_items" db=1.4ms idle=4.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:04:35.185 [debug] QUERY OK source="sources" db=0.6ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 06:04:35.187 [debug] QUERY OK source="media_items" db=0.7ms idle=6.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 06:04:35.189 [debug] QUERY OK source="media_items" db=1.7ms idle=5.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:04:35.190 [info] Sent 200 in 17ms 06:04:36.409 [info] CONNECTED TO Phoenix.LiveView.Socket in 48µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ARwEKh0fD0UuKB8FBjAlYRkOXjdEASgMENKleJyucJqSMZzYqw3z0wGC", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 06:04:36.582 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DROFxUv0MbnVKj_8hymMtvoO", "media_state" => "downloaded"} 06:04:36.583 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1398.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:04:36.585 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=1398.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:04:36.586 [debug] QUERY OK source="sources" db=0.5ms idle=1398.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 06:04:36.586 [debug] Replied in 3ms 06:04:36.589 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DROFxUv0MbnVKj_8hymMtvoO", "media_state" => "pending"} 06:04:36.590 [debug] QUERY OK source="media_items" db=0.5ms idle=1400.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 06:04:36.592 [debug] QUERY OK source="media_items" db=1.3ms idle=499.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:04:36.592 [debug] Replied in 3ms 06:04:36.593 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DROFxUv0MbnVKj_8hymMtvoO"} 06:04:36.594 [debug] QUERY OK source="tasks" db=0.4ms idle=10.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 06:04:36.594 [debug] Replied in 1ms 06:04:36.595 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "DROFxUv0MbnVKj_8hymMtvoO"} 06:04:36.596 [debug] Replied in 166µs 06:04:41.257 [info] GET / 06:04:41.257 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 06:04:41.258 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1588.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:04:41.259 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1589.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 06:04:41.260 [debug] QUERY OK source="sources" db=0.2ms idle=1590.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 06:04:41.260 [debug] QUERY OK source="media_items" db=0.1ms idle=1160.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:04:41.261 [debug] QUERY OK source="media_items" db=0.2ms idle=158.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:04:41.261 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:04:41.262 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:04:41.263 [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 [] 06:04:41.265 [debug] QUERY OK source="tasks" db=0.4ms idle=4.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 06:04:41.266 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=4.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:04:41.267 [debug] QUERY OK source="media_items" db=0.7ms idle=4.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:04:41.267 [debug] QUERY OK source="sources" db=0.3ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 06:04:41.270 [debug] QUERY OK source="media_items" db=0.5ms idle=6.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 06:04:41.271 [debug] QUERY OK source="media_items" db=1.2ms idle=5.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:04:41.272 [info] Sent 200 in 15ms 06:04:42.595 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "aw0XFBssATkedjYBaDV_DDAdEyE2IgtGSGaKlXLVD9Q92ENGEKeRgvy2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.trylik.pl/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.trylik.pl/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 06:04:42.770 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8Jv_wtMoZOg8Zp1KuVvsQTrt", "media_state" => "downloaded"} 06:04:42.771 [debug] QUERY OK source="media_items" db=0.3ms idle=666.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:04:42.772 [debug] QUERY OK source="media_items" db=0.9ms idle=101.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] 06:04:42.773 [debug] QUERY OK source="sources" db=0.3ms idle=103.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 06:04:42.773 [debug] Replied in 3ms 06:04:42.777 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8Jv_wtMoZOg8Zp1KuVvsQTrt", "media_state" => "pending"} 06:04:42.778 [debug] QUERY OK source="media_items" db=0.7ms idle=107.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 06:04:42.780 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=108.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] 06:04:42.780 [debug] Replied in 3ms 06:04:42.781 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8Jv_wtMoZOg8Zp1KuVvsQTrt"} 06:04:42.783 [debug] QUERY OK source="tasks" db=0.5ms idle=11.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 06:04:42.783 [debug] Replied in 1ms 06:04:42.784 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8Jv_wtMoZOg8Zp1KuVvsQTrt"} 06:04:42.784 [debug] Replied in 231µs 06:04:51.335 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:00.623 [info] {"source":"oban","duration":445,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:05:21.338 [info] {"source":"oban","duration":2197,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:51.341 [info] {"source":"oban","duration":1583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:00.624 [info] {"source":"oban","duration":546,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:06:21.344 [info] {"source":"oban","duration":1588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:51.345 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:00.626 [info] {"source":"oban","duration":441,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:07:21.347 [info] {"source":"oban","duration":1403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:51.349 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:00.626 [info] {"source":"oban","duration":356,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:08:21.351 [info] {"source":"oban","duration":1345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:51.353 [info] {"source":"oban","duration":1285,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:00.628 [info] {"source":"oban","duration":445,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:09:21.356 [info] {"source":"oban","duration":1588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:51.357 [info] {"source":"oban","duration":1292,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:00.628 [info] {"source":"oban","duration":451,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:10:21.360 [info] {"source":"oban","duration":1639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:51.363 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:00.630 [info] {"source":"oban","duration":643,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:11:21.364 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:51.366 [info] {"source":"oban","duration":1419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:00.632 [info] {"source":"oban","duration":453,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:12:21.368 [info] {"source":"oban","duration":1261,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:51.370 [info] {"source":"oban","duration":1189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:00.633 [info] {"source":"oban","duration":384,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:13:21.372 [info] {"source":"oban","duration":1266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:51.374 [info] {"source":"oban","duration":1226,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:00.634 [info] {"source":"oban","duration":477,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:14:21.376 [info] {"source":"oban","duration":1322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:51.378 [info] {"source":"oban","duration":1366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:00.635 [info] {"source":"oban","duration":483,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:15:21.380 [info] {"source":"oban","duration":1294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:51.382 [info] {"source":"oban","duration":1437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:00.635 [info] {"source":"oban","duration":322,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:16:21.385 [info] {"source":"oban","duration":1589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:51.386 [info] {"source":"oban","duration":1273,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:00.637 [info] {"source":"oban","duration":419,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:17:21.388 [info] {"source":"oban","duration":1141,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:51.391 [info] {"source":"oban","duration":1614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:00.638 [info] {"source":"oban","duration":437,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:18:21.393 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:51.394 [info] {"source":"oban","duration":1275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:00.639 [info] {"source":"oban","duration":549,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:19:21.396 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:51.398 [info] {"source":"oban","duration":1195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:00.641 [info] {"source":"oban","duration":471,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:20:21.400 [info] {"source":"oban","duration":1195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:51.402 [info] {"source":"oban","duration":1282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:00.642 [info] {"source":"oban","duration":425,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:21:18.703 [info] GET / 06:21:18.703 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 06:21:18.704 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1033.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:18.705 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=417.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 06:21:18.706 [debug] QUERY OK source="sources" db=0.3ms idle=34.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 06:21:18.706 [debug] QUERY OK source="media_items" db=0.2ms idle=35.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:21:18.707 [debug] QUERY OK source="media_items" db=0.2ms idle=36.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:21:18.707 [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 [] 06:21:18.708 [debug] QUERY OK source="settings" db=0.6ms 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 [] 06:21:18.710 [debug] QUERY OK source="settings" db=0.4ms 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 [] 06:21:18.712 [debug] QUERY OK source="tasks" db=0.4ms idle=5.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 06:21:18.713 [debug] QUERY OK source="media_items" db=0.5ms 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 (m0."media_filepath" IS NULL)) [] 06:21:18.715 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=6.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:21:18.715 [debug] QUERY OK source="sources" db=0.1ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 06:21:18.717 [debug] QUERY OK source="media_items" db=0.7ms idle=6.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 06:21:18.718 [debug] QUERY OK source="media_items" db=1.1ms idle=5.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:21:18.719 [info] Sent 200 in 16ms 06:21:19.033 [info] GET /js/lkk_ch.js 06:21:19.034 [debug] QUERY OK source="settings" db=0.3ms idle=320.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:19.035 [debug] QUERY OK source="settings" db=0.4ms idle=319.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:19.035 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:21:19.036 [error] #PID<0.4559.0> running PinchflatWeb.Endpoint (connection #PID<0.4557.0>, stream id 2) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /js/lkk_ch.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/lkk_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4559.0>, params: %{}, path_info: ["js", "lkk_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/js/lkk_ch.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMMjUbl1-VXqkQAAiUC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/lkk_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4559.0>, params: %{}, path_info: ["js", "lkk_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger" (truncated) 06:21:20.609 [info] GET /assets/js/message.js 06:21:20.610 [debug] QUERY OK source="settings" db=0.3ms idle=1891.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:20.611 [debug] QUERY OK source="settings" db=0.5ms idle=1576.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:20.611 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:21:20.612 [error] #PID<0.4560.0> running PinchflatWeb.Endpoint (connection #PID<0.4557.0>, stream id 3) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /assets/js/message.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/message (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/message.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4560.0>, params: %{}, path_info: ["assets", "js", "message"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/assets/js/message.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMMjaTXlio7OtMAAiYC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/message.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/message (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/message.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4560.0>, params: %{}, path_info: ["assets", "js", "message"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => (truncated) 06:21:20.650 [info] GET /js/twint_ch.js 06:21:20.652 [debug] QUERY OK source="settings" db=0.4ms idle=1615.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:20.652 [debug] QUERY OK source="settings" db=0.5ms idle=1362.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:20.653 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:21:20.653 [error] #PID<0.4561.0> running PinchflatWeb.Endpoint (connection #PID<0.4557.0>, stream id 4) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /js/twint_ch.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/twint_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4561.0>, params: %{}, path_info: ["js", "twint_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/js/twint_ch.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMMjadNowd7bSMAAicC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/twint_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4561.0>, params: %{}, path_info: ["js", "twint_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => (truncated) 06:21:20.898 [info] GET /static/style/sys_files/index.js 06:21:20.899 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=606.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:20.901 [debug] QUERY OK source="settings" db=0.5ms queue=0.4ms idle=289.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:20.901 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:21:20.901 [error] #PID<0.4565.0> running PinchflatWeb.Endpoint (connection #PID<0.4557.0>, stream id 8) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /static/style/sys_files/index.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/sys_files/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/sys_files/index.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4565.0>, params: %{}, path_info: ["static", "style", "sys_files", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/static/style/sys_files/index.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMMjbYTaAMeD7kAAigC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/sys_files/index.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/sys_files/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/sys_files/index.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4565.0>, params: %{}, path_info: ["static", "style", "sys_files", "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.E (truncated) 06:21:20.936 [info] GET /assets/js/auth.js 06:21:20.937 [debug] QUERY OK source="settings" db=0.3ms idle=325.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:20.938 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms 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 [] 06:21:20.938 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:21:20.939 [error] #PID<0.4566.0> running PinchflatWeb.Endpoint (connection #PID<0.4557.0>, stream id 9) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /assets/js/auth.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/auth (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/auth.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4566.0>, params: %{}, path_info: ["assets", "js", "auth"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/assets/js/auth.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMMjbhRmvcY6XwAAikC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/auth.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/auth (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/auth.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4566.0>, params: %{}, path_info: ["assets", "js", "auth"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, (truncated) 06:21:21.036 [info] GET /assets/js/qr_modal.js 06:21:21.037 [debug] QUERY OK source="settings" db=0.3ms idle=383.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:21.037 [debug] QUERY OK source="settings" db=0.2ms idle=137.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:21.037 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:21:21.038 [error] #PID<0.4568.0> running PinchflatWeb.Endpoint (connection #PID<0.4557.0>, stream id 11) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /assets/js/qr_modal.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/qr_modal (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/qr_modal.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4568.0>, params: %{}, path_info: ["assets", "js", "qr_modal"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/assets/js/qr_modal.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMMjb5FSXijHFUAAioC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/qr_modal.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/qr_modal (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/qr_modal.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4568.0>, params: %{}, path_info: ["assets", "js", "qr_modal"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoe (truncated) 06:21:21.072 [info] GET /bot-connect.js 06:21:21.073 [debug] QUERY OK source="settings" db=0.2ms idle=171.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:21.074 [debug] QUERY OK source="settings" db=0.2ms 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 [] 06:21:21.074 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:21:21.075 [error] #PID<0.4569.0> running PinchflatWeb.Endpoint (connection #PID<0.4557.0>, stream id 12) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /bot-connect.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bot-connect (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bot-connect.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4569.0>, params: %{}, path_info: ["bot-connect"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/bot-connect.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMMjcBwZwpZvE0AAisC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bot-connect.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bot-connect (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bot-connect.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4569.0>, params: %{}, path_info: ["bot-connect"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => { (truncated) 06:21:21.111 [info] GET /static/style/protect/index.js 06:21:21.112 [debug] QUERY OK source="settings" db=0.2ms idle=173.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:21.113 [debug] QUERY OK source="settings" db=0.5ms idle=75.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:21.113 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:21:21.114 [error] #PID<0.4570.0> running PinchflatWeb.Endpoint (connection #PID<0.4557.0>, stream id 13) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /static/style/protect/index.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/protect/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/protect/index.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4570.0>, params: %{}, path_info: ["static", "style", "protect", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/static/style/protect/index.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMMjcLFu3SxgHsAAiwC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/protect/index.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/protect/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/protect/index.js", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4570.0>, params: %{}, path_info: ["static", "style", "protect", "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, (truncated) 06:21:21.256 [info] GET /css/support_parent.css 06:21:21.257 [debug] QUERY OK source="settings" db=0.2ms idle=219.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:21.258 [debug] QUERY OK source="settings" db=0.2ms idle=184.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:21:21.258 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:21:21.259 [error] #PID<0.4573.0> running PinchflatWeb.Endpoint (connection #PID<0.4557.0>, stream id 16) terminated Server: pinchflat.trylik.pl:80 (http) Request: GET /css/support_parent.css ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /css/support_parent (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4573.0>, params: %{}, path_info: ["css", "support_parent"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 0, 222}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.trylik.pl"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.trylik.pl"}, {"x-forwarded-proto", "https"} ], request_path: "/css/support_parent.css", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKMMjcttFZzWQMMAAi0C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /css/support_parent (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.trylik.pl", peer: {{192, 168, 0, 222}, 55418}, 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,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.trylik.pl", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.trylik.pl", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.trylik.pl", method: "GET", owner: #PID<0.4573.0>, params: %{}, path_info: ["css", "support_parent"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.trylik.pl", :phoen (truncated) 06:21:21.404 [info] {"source":"oban","duration":1108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:51.406 [info] {"source":"oban","duration":1148,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:00.642 [info] {"source":"oban","duration":407,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:22:21.408 [info] {"source":"oban","duration":1239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:51.410 [info] {"source":"oban","duration":1331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:00.643 [info] {"source":"oban","duration":410,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:23:21.412 [info] {"source":"oban","duration":1333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:51.415 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:58.193 [info] GET /media_profiles/1 06:23:58.194 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 06:23:58.195 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1524.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 06:23:58.196 [debug] QUERY OK source="sources" db=0.4ms idle=1525.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 06:23:58.197 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1526.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:23:58.198 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1526.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:23:58.199 [debug] QUERY OK source="settings" db=0.2ms idle=580.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:23:58.201 [info] Sent 200 in 8ms 06:24:00.644 [info] {"source":"oban","duration":331,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:24:21.416 [info] {"source":"oban","duration":1255,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:51.418 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:00.646 [info] {"source":"oban","duration":526,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:25:21.421 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0}