18:27:33.046 [debug] QUERY OK source="sources" db=0.8ms idle=10.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:33.049 [debug] QUERY OK source="media_items" db=3.0ms idle=9.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-26 12:00:30Z], 7] 18:27:33.051 [debug] QUERY OK source="media_items" db=0.9ms idle=11.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Keep The Horses Warm", "9f1039c6-65cc-4d93-bc5d-4c924382f246", 326, false, "APFUTfKq36M", "https://www.youtube.com/watch?v=APFUTfKq36M", 15, "/downloads/Chess Simp/Keep The Horses Warm/Keep The Horses Warm [APFUTfKq36M].mp4", false, false, false, 7, [], 98, ~U[2026-01-26 12:00:30Z], ~U[2026-02-15 18:27:33Z], ~U[2026-02-15 18:27:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Keep The Horses Warm", 326, false, "APFUTfKq36M", "https://www.youtube.com/watch?v=APFUTfKq36M", "/downloads/Chess Simp/Keep The Horses Warm/Keep The Horses Warm [APFUTfKq36M].mp4", false, 7, ~U[2026-01-26 12:00:30Z]] 18:27:33.052 [debug] QUERY OK source="sources" db=0.7ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:33.056 [debug] QUERY OK source="media_items" db=4.3ms idle=7.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-24 12:01:22Z], 7] 18:27:33.057 [debug] QUERY OK source="media_items" db=0.7ms idle=10.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why The E Files Must Be Protected", "d3b9863f-edbf-4e7f-8498-6eb2b8cc9c5f", 252, false, "pElr5mid3v4", "https://www.youtube.com/watch?v=pElr5mid3v4", 16, "/downloads/Chess Simp/Why The E Files Must Be Protected/Why The E Files Must Be Protected [pElr5mid3v4].mp4", false, false, false, 7, [], 98, ~U[2026-01-24 12:01:22Z], ~U[2026-02-15 18:27:33Z], ~U[2026-02-15 18:27:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why The E Files Must Be Protected", 252, false, "pElr5mid3v4", "https://www.youtube.com/watch?v=pElr5mid3v4", "/downloads/Chess Simp/Why The E Files Must Be Protected/Why The E Files Must Be Protected [pElr5mid3v4].mp4", false, 7, ~U[2026-01-24 12:01:22Z]] 18:27:33.059 [debug] QUERY OK source="sources" db=1.7ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:33.063 [debug] QUERY OK source="media_items" db=2.8ms idle=9.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 12:00:54Z], 7] 18:27:33.064 [debug] QUERY OK source="media_items" db=0.9ms idle=11.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why The E File Is Very Important", "f397cdfd-fb4f-4673-83c0-d0f2596cf66c", 301, false, "OwpzWqyppLk", "https://www.youtube.com/watch?v=OwpzWqyppLk", 17, "/downloads/Chess Simp/Why The E File Is Very Important/Why The E File Is Very Important [OwpzWqyppLk].mp4", false, false, false, 7, [], 98, ~U[2026-01-22 12:00:54Z], ~U[2026-02-15 18:27:33Z], ~U[2026-02-15 18:27:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why The E File Is Very Important", 301, false, "OwpzWqyppLk", "https://www.youtube.com/watch?v=OwpzWqyppLk", "/downloads/Chess Simp/Why The E File Is Very Important/Why The E File Is Very Important [OwpzWqyppLk].mp4", false, 7, ~U[2026-01-22 12:00:54Z]] 18:27:33.065 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:33.067 [debug] QUERY OK source="media_items" db=2.2ms idle=7.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-21 12:00:39Z], 7] 18:27:33.068 [debug] QUERY OK source="media_items" db=0.7ms idle=7.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nGame 3 of that same day:\nhttps://youtu.be/mswfrQf760E\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "Why Some Humans Read Left To Right", "88ca6b42-ef50-4dd5-94de-5b2e8c3576ae", 364, false, "KF04k0J2cSs", "https://www.youtube.com/watch?v=KF04k0J2cSs", 18, "/downloads/Chess Simp/Why Some Humans Read Left To Right/Why Some Humans Read Left To Right [KF04k0J2cSs].mp4", false, false, false, 7, [], 98, ~U[2026-01-21 12:00:39Z], ~U[2026-02-15 18:27:33Z], ~U[2026-02-15 18:27:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nGame 3 of that same day:\nhttps://youtu.be/mswfrQf760E\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "Why Some Humans Read Left To Right", 364, false, "KF04k0J2cSs", "https://www.youtube.com/watch?v=KF04k0J2cSs", "/downloads/Chess Simp/Why Some Humans Read Left To Right/Why Some Humans Read Left To Right [KF04k0J2cSs].mp4", false, 7, ~U[2026-01-21 12:00:39Z]] 18:27:33.070 [debug] QUERY OK source="sources" db=1.4ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:33.073 [debug] QUERY OK source="media_items" db=3.0ms idle=6.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-20 12:00:02Z], 7] 18:27:33.074 [debug] QUERY OK source="media_items" db=0.7ms idle=8.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Columbus Plays Chess", "b4c70000-05fd-4090-b88d-c35b486d24f2", 258, false, "18HcXK-bSb4", "https://www.youtube.com/watch?v=18HcXK-bSb4", 19, "/downloads/Chess Simp/If Columbus Plays Chess/If Columbus Plays Chess [18HcXK-bSb4].mp4", false, false, false, 7, [], 98, ~U[2026-01-20 12:00:02Z], ~U[2026-02-15 18:27:33Z], ~U[2026-02-15 18:27:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Columbus Plays Chess", 258, false, "18HcXK-bSb4", "https://www.youtube.com/watch?v=18HcXK-bSb4", "/downloads/Chess Simp/If Columbus Plays Chess/If Columbus Plays Chess [18HcXK-bSb4].mp4", false, 7, ~U[2026-01-20 12:00:02Z]] 18:27:33.076 [debug] QUERY OK source="sources" db=1.1ms idle=7.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:33.078 [debug] QUERY OK source="media_items" db=2.4ms idle=7.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-19 12:01:17Z], 7] 18:27:33.080 [debug] QUERY OK source="media_items" db=0.7ms idle=8.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "The Pawns Protect The King", "646ea4bd-72dc-4ad5-b12d-3e928e4c375e", 271, false, "fKzBEqxQlFg", "https://www.youtube.com/watch?v=fKzBEqxQlFg", 20, "/downloads/Chess Simp/The Pawns Protect The King/The Pawns Protect The King [fKzBEqxQlFg].mp4", false, false, false, 7, [], 98, ~U[2026-01-19 12:01:17Z], ~U[2026-02-15 18:27:33Z], ~U[2026-02-15 18:27:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "The Pawns Protect The King", 271, false, "fKzBEqxQlFg", "https://www.youtube.com/watch?v=fKzBEqxQlFg", "/downloads/Chess Simp/The Pawns Protect The King/The Pawns Protect The King [fKzBEqxQlFg].mp4", false, 7, ~U[2026-01-19 12:01:17Z]] 18:27:33.080 [debug] QUERY OK source="sources" db=0.3ms idle=6.5ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-02-15 18:27:33Z], ~U[2026-02-15 18:27:33Z], 7] 18:27:33.083 [debug] QUERY OK source="media_items" db=2.3ms idle=6.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 18:27:33.085 [debug] QUERY OK source="media_items" db=2.2ms idle=7.3ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 18:27:33.086 [debug] QUERY OK source="media_items" db=0.4ms idle=7.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 18:27:33.088 [debug] QUERY OK source="tasks" db=0.4ms idle=4.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [398, 7, ~U[2026-02-15 18:27:33Z], ~U[2026-02-15 18:27:33Z]] 18:27:33.089 [info] {"args":{"id":7},"id":387,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":59017731,"event":"job:stop","queue_time":115238,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 18:27:58.415 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:00.923 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:28:28.417 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:58.418 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:00.925 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:29:28.419 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:58.421 [info] {"source":"oban","duration":1115,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:00.926 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:30:28.422 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:58.423 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:00.927 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:31:28.424 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:58.425 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:00.928 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:32:28.426 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:58.427 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:00.930 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:33:28.428 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:58.429 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:00.931 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:34:28.430 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:58.431 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:00.932 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:35:28.432 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:58.433 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:00.934 [info] {"source":"oban","duration":250,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:36:28.434 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:58.435 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:00.935 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:37:28.437 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:58.438 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:00.936 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:38:28.439 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:58.440 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:00.937 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:39:28.443 [info] {"source":"oban","duration":1313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:58.446 [info] {"source":"oban","duration":957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:00.938 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:40:28.448 [info] {"source":"oban","duration":1063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:58.450 [info] {"source":"oban","duration":1899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:00.939 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:41:28.452 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:58.454 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:00.940 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:42:28.455 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:58.456 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:00.941 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:43:28.458 [info] {"source":"oban","duration":1183,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:58.459 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:00.942 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:44:28.462 [info] {"source":"oban","duration":1720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:58.463 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:00.943 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:45:28.464 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:58.468 [info] {"source":"oban","duration":2112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:00.945 [info] {"source":"oban","duration":839,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:46:28.469 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:58.471 [info] {"source":"oban","duration":1274,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:00.946 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:47:28.474 [info] {"source":"oban","duration":1850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:58.476 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:00.947 [info] {"source":"oban","duration":334,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:48:28.478 [info] {"source":"oban","duration":1312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:58.481 [info] {"source":"oban","duration":2358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:00.948 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:49:28.483 [info] {"source":"oban","duration":1302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:58.485 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:00.949 [info] {"source":"oban","duration":310,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:50:28.488 [info] {"source":"oban","duration":2019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:58.490 [info] {"source":"oban","duration":1178,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:00.950 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:51:28.492 [info] {"source":"oban","duration":1343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:58.494 [info] {"source":"oban","duration":1204,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:00.951 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:52:28.496 [info] {"source":"oban","duration":984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:58.497 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:00.952 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:53:28.498 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:58.499 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:00.953 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:54:28.502 [info] {"source":"oban","duration":1668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:58.504 [info] {"source":"oban","duration":1252,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:00.954 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:55:28.506 [info] {"source":"oban","duration":1477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:58.508 [info] {"source":"oban","duration":1147,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:00.956 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:56:28.509 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:58.511 [info] {"source":"oban","duration":1335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:00.957 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:57:28.513 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:58.515 [info] {"source":"oban","duration":1210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:00.961 [info] {"source":"oban","duration":2171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[399]} 18:58:00.969 [info] {"args":{},"id":399,"meta":{"cron":true,"cron_expr":"58 18 * * *","cron_tz":"Etc/UTC"},"system_time":1771181880969506331,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 18:58:00.970 [info] Updating yt-dlp 18:58:00.970 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 18:58:02.092 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.02.04 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.02.04 from yt-dlp/yt-dlp) 18:58:02.092 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 18:58:02.917 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.02.04 18:58:02.918 [debug] QUERY OK source="settings" db=0.2ms idle=909.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:02.918 [info] {"args":{},"id":399,"meta":{"cron":true,"cron_expr":"58 18 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":1948597,"event":"job:stop","queue_time":967092,"attempt":1,"tags":["local_data"]} 18:58:28.517 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:58.519 [info] {"source":"oban","duration":926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:00.962 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:59:28.521 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:58.524 [info] {"source":"oban","duration":1263,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:00.963 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:00:28.527 [info] {"source":"oban","duration":1859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:58.529 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:00.965 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:01:28.532 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:58.534 [info] {"source":"oban","duration":1445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:00.966 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:02:28.537 [info] {"source":"oban","duration":1182,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:58.539 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:00.967 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:03:28.540 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:58.542 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:00.968 [info] {"source":"oban","duration":315,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:04:28.544 [info] {"source":"oban","duration":1346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:58.546 [info] {"source":"oban","duration":1378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:00.969 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:05:28.548 [info] {"source":"oban","duration":1216,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:58.550 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:00.970 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:06:28.552 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:58.556 [info] {"source":"oban","duration":3614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:00.971 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:07:28.559 [info] {"source":"oban","duration":1289,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:58.561 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:00.972 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:08:28.564 [info] {"source":"oban","duration":2257,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:58.566 [info] {"source":"oban","duration":1660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:00.974 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:09:28.568 [info] {"source":"oban","duration":1434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:58.570 [info] {"source":"oban","duration":1307,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:00.976 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:10:28.572 [info] {"source":"oban","duration":1206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:58.574 [info] {"source":"oban","duration":1335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:00.977 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:11:28.576 [info] {"source":"oban","duration":1244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:58.579 [info] {"source":"oban","duration":1914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:00.978 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:12:28.581 [info] {"source":"oban","duration":1125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:58.583 [info] {"source":"oban","duration":1349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:00.979 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:13:28.585 [info] {"source":"oban","duration":1506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:58.587 [info] {"source":"oban","duration":1763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:00.981 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:14:28.590 [info] {"source":"oban","duration":1336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:58.591 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:00.982 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:15:28.593 [info] {"source":"oban","duration":1511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:58.596 [info] {"source":"oban","duration":1326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:00.984 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:16:28.598 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:58.600 [info] {"source":"oban","duration":1491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:00.986 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:17:28.605 [info] {"source":"oban","duration":2994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:53.487 [info] {"args":{"id":6},"id":389,"meta":{},"system_time":1771183073487198115,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 19:17:53.489 [debug] QUERY OK source="sources" db=1.1ms idle=1295.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:17:53.490 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=1297.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:54.107 [debug] QUERY OK source="media_items" db=616.3ms queue=0.1ms idle=1015.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")))) [6] 19:17:54.108 [debug] QUERY OK source="media_items" db=0.7ms idle=628.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 19:17:54.109 [debug] QUERY OK source="media_profiles" db=0.3ms idle=621.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:17:54.109 [debug] QUERY OK source="settings" db=0.1ms idle=620.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:54.109 [debug] QUERY OK source="settings" db=0.1ms idle=619.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:54.114 [debug] QUERY OK source="media_items" db=4.0ms 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 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [6] 19:17:54.116 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 19:17:54.116 [debug] Current batch of media processed. Will check again in 1000ms 19:17:54.116 [debug] QUERY OK source="settings" db=0.2ms idle=7.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:54.117 [debug] QUERY OK source="settings" db=0.1ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:54.117 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:17:54.117 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@GoodMythicalMorning --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Good Mythical Morning/%(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/b7/e9/b7e9494030b9922bae10624ce77ec9eb7a0f43d176aebcd95bb00d7510b7c736.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/4a/b3/4ab3efe2ab5393fea7dbad338872bb918f194d0f0bc9b30095c3914d18d08fbb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:17:55.117 [debug] Current batch of media processed. Will check again in 1000ms 19:17:56.118 [debug] Current batch of media processed. Will check again in 1000ms 19:17:57.119 [debug] Current batch of media processed. Will check again in 1000ms 19:17:58.120 [debug] Current batch of media processed. Will check again in 1000ms 19:17:58.606 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:59.121 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we see what's better cocktail candies or candy cocktails. Help us send Stevie off with the fondest, most Mythical farewell possible! https://Mythical.com/Stevie\n\nWatch today's GMMORE: https://youtu.be/qxg2_CA8Z7Y\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2980", "duration" => 1808, "filename" => "/downloads/Good Mythical Morning/Candy Cocktails vs Cocktail Candies Taste Test/Candy Cocktails vs Cocktail Candies Taste Test [E4aDp87hLbE].mp4", "id" => "E4aDp87hLbE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=E4aDp87hLbE", "playlist_index" => 1, "timestamp" => 1770980421, "title" => "Candy Cocktails vs Cocktail Candies Taste Test", "upload_date" => "20260213"} 19:17:59.123 [debug] QUERY OK source="sources" db=0.7ms idle=1929.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:17:59.124 [debug] QUERY OK source="sources" db=0.5ms idle=1931.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:17:59.156 [debug] QUERY OK source="media_items" db=31.2ms queue=0.1ms idle=1639.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-13 11:00:21Z], 6] 19:17:59.160 [debug] QUERY OK source="media_items" db=3.3ms idle=669.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see what's better cocktail candies or candy cocktails. Help us send Stevie off with the fondest, most Mythical farewell possible! https://Mythical.com/Stevie\n\nWatch today's GMMORE: https://youtu.be/qxg2_CA8Z7Y\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2980", "Candy Cocktails vs Cocktail Candies Taste Test", "616e4708-9d91-44e9-9b95-a3e748cc30e3", 1808, false, "E4aDp87hLbE", "https://www.youtube.com/watch?v=E4aDp87hLbE", 1, "/downloads/Good Mythical Morning/Candy Cocktails vs Cocktail Candies Taste Test/Candy Cocktails vs Cocktail Candies Taste Test [E4aDp87hLbE].mp4", false, false, false, 6, [], 98, ~U[2026-02-13 11:00:21Z], ~U[2026-02-15 19:17:59Z], ~U[2026-02-15 19:17:59Z], "Today we see what's better cocktail candies or candy cocktails. Help us send Stevie off with the fondest, most Mythical farewell possible! https://Mythical.com/Stevie\n\nWatch today's GMMORE: https://youtu.be/qxg2_CA8Z7Y\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2980", "Candy Cocktails vs Cocktail Candies Taste Test", 1808, false, "E4aDp87hLbE", "https://www.youtube.com/watch?v=E4aDp87hLbE", "/downloads/Good Mythical Morning/Candy Cocktails vs Cocktail Candies Taste Test/Candy Cocktails vs Cocktail Candies Taste Test [E4aDp87hLbE].mp4", false, 6, ~U[2026-02-13 11:00:21Z]] 19:17:59.161 [debug] QUERY OK source="sources" db=0.5ms idle=554.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:17:59.162 [debug] QUERY OK source="media_profiles" db=0.3ms idle=38.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:17:59.163 [debug] QUERY OK source="media_items" db=0.5ms idle=38.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [25116] 19:17:59.163 [debug] Current batch of media processed. Will check again in 1000ms 19:18:00.164 [debug] Current batch of media processed. Will check again in 1000ms 19:18:00.987 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:18:01.165 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we find out which gourmet dog food tastes the best!\n\nWatch today's GMMORE: https://youtu.be/fQXlbkhOHTA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvzyYLLkhoyqe51ptzxCROA\nhttps://youtu.be/Q5AbAM9ZEio\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2979", "duration" => 1182, "filename" => "/downloads/Good Mythical Morning/Is This Dog Food Good Enough For People?/Is This Dog Food Good Enough For People? [IU1q9kAhywM].mp4", "id" => "IU1q9kAhywM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IU1q9kAhywM", "playlist_index" => 2, "timestamp" => 1770894030, "title" => "Is This Dog Food Good Enough For People?", "upload_date" => "20260212"} 19:18:01.166 [debug] QUERY OK source="sources" db=0.2ms idle=973.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:01.166 [debug] QUERY OK source="sources" db=0.2ms idle=974.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:01.185 [debug] QUERY OK source="media_items" db=18.6ms idle=974.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 11:00:30Z], 6] 19:18:01.191 [debug] QUERY OK source="media_items" db=4.9ms idle=694.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we find out which gourmet dog food tastes the best!\n\nWatch today's GMMORE: https://youtu.be/fQXlbkhOHTA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvzyYLLkhoyqe51ptzxCROA\nhttps://youtu.be/Q5AbAM9ZEio\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2979", "Is This Dog Food Good Enough For People?", "b8d83a76-c173-4207-9d15-84f19756ec14", 1182, false, "IU1q9kAhywM", "https://www.youtube.com/watch?v=IU1q9kAhywM", 2, "/downloads/Good Mythical Morning/Is This Dog Food Good Enough For People?/Is This Dog Food Good Enough For People? [IU1q9kAhywM].mp4", false, false, false, 6, [], 98, ~U[2026-02-12 11:00:30Z], ~U[2026-02-15 19:18:01Z], ~U[2026-02-15 19:18:01Z], "Today we find out which gourmet dog food tastes the best!\n\nWatch today's GMMORE: https://youtu.be/fQXlbkhOHTA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvzyYLLkhoyqe51ptzxCROA\nhttps://youtu.be/Q5AbAM9ZEio\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2979", "Is This Dog Food Good Enough For People?", 1182, false, "IU1q9kAhywM", "https://www.youtube.com/watch?v=IU1q9kAhywM", "/downloads/Good Mythical Morning/Is This Dog Food Good Enough For People?/Is This Dog Food Good Enough For People? [IU1q9kAhywM].mp4", false, 6, ~U[2026-02-12 11:00:30Z]] 19:18:01.193 [debug] QUERY OK source="sources" db=2.0ms queue=0.1ms idle=204.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:01.194 [debug] QUERY OK source="media_profiles" db=0.6ms idle=28.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:01.196 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=28.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24871] 19:18:01.196 [debug] Current batch of media processed. Will check again in 1000ms 19:18:02.197 [debug] Current batch of media processed. Will check again in 1000ms 19:18:03.198 [debug] Current batch of media processed. Will check again in 1000ms 19:18:04.199 [debug] Current batch of media processed. Will check again in 1000ms 19:18:05.200 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, we try to guess the snack from our vending machine. Thank you to Mint Mobile for partnering with us on this video! And for a limited time, you can get 50% off an unlimited premium wireless plan from Mint by visiting https://mintmobile.yt.link/tz4hghi. Lock in Mint’s lowest price of the year and pay just $15/mo for a 3, 6, or 12 month plan. Limited time offer. Upfront payment of: $45 for 3-mo., $90 for 6-mo., or $180 for 12-mo. plan req’d ($15/mo. equiv.). Taxes & fees extra. Initial plan term only. 50GB or more may slow when network is busy. Capable device req'd. Availability, speed & coverage varies. See https://mintmobile.yt.link/tz4hghi \n\nWatch today's GMMORE: https://youtu.be/FJLROFDDgXY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsl9Dhl6n4bPlNsb6h-2Bm-\n\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2978", "duration" => 1775, "filename" => "/downloads/Good Mythical Morning/Guess The Mystery Vending Machine Snack/Guess The Mystery Vending Machine Snack [G0lBo0mWl4o].mp4", "id" => "G0lBo0mWl4o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=G0lBo0mWl4o", "playlist_index" => 3, "timestamp" => 1770807632, "title" => "Guess The Mystery Vending Machine Snack", "upload_date" => "20260211"} 19:18:05.201 [debug] QUERY OK source="sources" db=0.4ms idle=1009.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:05.202 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=686.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:05.231 [debug] QUERY OK source="media_items" db=28.6ms queue=0.1ms idle=10.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-11 11:00:32Z], 6] 19:18:05.235 [debug] QUERY OK source="media_items" db=2.8ms idle=40.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we try to guess the snack from our vending machine. Thank you to Mint Mobile for partnering with us on this video! And for a limited time, you can get 50% off an unlimited premium wireless plan from Mint by visiting https://mintmobile.yt.link/tz4hghi. Lock in Mint’s lowest price of the year and pay just $15/mo for a 3, 6, or 12 month plan. Limited time offer. Upfront payment of: $45 for 3-mo., $90 for 6-mo., or $180 for 12-mo. plan req’d ($15/mo. equiv.). Taxes & fees extra. Initial plan term only. 50GB or more may slow when network is busy. Capable device req'd. Availability, speed & coverage varies. See https://mintmobile.yt.link/tz4hghi \n\nWatch today's GMMORE: https://youtu.be/FJLROFDDgXY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsl9Dhl6n4bPlNsb6h-2Bm-\n\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2978", "Guess The Mystery Vending Machine Snack", "2489072d-a09b-499f-aaa3-e4cca217358e", 1775, false, "G0lBo0mWl4o", "https://www.youtube.com/watch?v=G0lBo0mWl4o", 3, "/downloads/Good Mythical Morning/Guess The Mystery Vending Machine Snack/Guess The Mystery Vending Machine Snack [G0lBo0mWl4o].mp4", false, false, false, 6, [], 98, ~U[2026-02-11 11:00:32Z], ~U[2026-02-15 19:18:05Z], ~U[2026-02-15 19:18:05Z], "Today, we try to guess the snack from our vending machine. Thank you to Mint Mobile for partnering with us on this video! And for a limited time, you can get 50% off an unlimited premium wireless plan from Mint by visiting https://mintmobile.yt.link/tz4hghi. Lock in Mint’s lowest price of the year and pay just $15/mo for a 3, 6, or 12 month plan. Limited time offer. Upfront payment of: $45 for 3-mo., $90 for 6-mo., or $180 for 12-mo. plan req’d ($15/mo. equiv.). Taxes & fees extra. Initial plan term only. 50GB or more may slow when network is busy. Capable device req'd. Availability, speed & coverage varies. See https://mintmobile.yt.link/tz4hghi \n\nWatch today's GMMORE: https://youtu.be/FJLROFDDgXY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsl9Dhl6n4bPlNsb6h-2Bm-\n\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2978", "Guess The Mystery Vending Machine Snack", 1775, false, "G0lBo0mWl4o", "https://www.youtube.com/watch?v=G0lBo0mWl4o", "/downloads/Good Mythical Morning/Guess The Mystery Vending Machine Snack/Guess The Mystery Vending Machine Snack [G0lBo0mWl4o].mp4", false, 6, ~U[2026-02-11 11:00:32Z]] 19:18:05.236 [debug] QUERY OK source="sources" db=0.7ms idle=43.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:05.237 [debug] QUERY OK source="media_profiles" db=0.4ms idle=35.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:05.238 [debug] QUERY OK source="media_items" db=0.4ms idle=35.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24626] 19:18:05.238 [debug] Current batch of media processed. Will check again in 1000ms 19:18:06.239 [debug] Current batch of media processed. Will check again in 1000ms 19:18:07.240 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we see what the most expensive products are at a drugstore.\n\nWatch today's GMMORE: https://youtu.be/UMc5scZm_Rc\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2977", "duration" => 1676, "filename" => "/downloads/Good Mythical Morning/Are These Drugstore Products Worth It?/Are These Drugstore Products Worth It? [qgNwW-oVjv8].mp4", "id" => "qgNwW-oVjv8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qgNwW-oVjv8", "playlist_index" => 4, "timestamp" => 1770721287, "title" => "Are These Drugstore Products Worth It?", "upload_date" => "20260210"} 19:18:07.242 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=721.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:07.243 [debug] QUERY OK source="sources" db=0.9ms idle=50.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:07.277 [debug] QUERY OK source="media_items" db=33.7ms queue=0.1ms idle=51.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-10 11:01:27Z], 6] 19:18:07.281 [debug] QUERY OK source="media_items" db=2.2ms idle=86.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see what the most expensive products are at a drugstore.\n\nWatch today's GMMORE: https://youtu.be/UMc5scZm_Rc\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2977", "Are These Drugstore Products Worth It?", "b66d3a48-3813-46fb-b5ca-b4d6865350a0", 1676, false, "qgNwW-oVjv8", "https://www.youtube.com/watch?v=qgNwW-oVjv8", 4, "/downloads/Good Mythical Morning/Are These Drugstore Products Worth It?/Are These Drugstore Products Worth It? [qgNwW-oVjv8].mp4", false, false, false, 6, [], 98, ~U[2026-02-10 11:01:27Z], ~U[2026-02-15 19:18:07Z], ~U[2026-02-15 19:18:07Z], "Today we see what the most expensive products are at a drugstore.\n\nWatch today's GMMORE: https://youtu.be/UMc5scZm_Rc\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2977", "Are These Drugstore Products Worth It?", 1676, false, "qgNwW-oVjv8", "https://www.youtube.com/watch?v=qgNwW-oVjv8", "/downloads/Good Mythical Morning/Are These Drugstore Products Worth It?/Are These Drugstore Products Worth It? [qgNwW-oVjv8].mp4", false, 6, ~U[2026-02-10 11:01:27Z]] 19:18:07.281 [debug] QUERY OK source="sources" db=0.3ms idle=89.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:07.282 [debug] QUERY OK source="media_profiles" db=0.4ms idle=39.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:07.283 [debug] QUERY OK source="media_items" db=0.6ms idle=39.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24383] 19:18:07.283 [debug] Current batch of media processed. Will check again in 1000ms 19:18:08.284 [debug] Current batch of media processed. Will check again in 1000ms 19:18:09.285 [debug] Current batch of media processed. Will check again in 1000ms 19:18:10.286 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we see how different sub sandwiches taste throughout the world.\n\nWatch today's GMMORE: https://youtu.be/GFtZdJm-oao\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/ZBnWL5f_N2I\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2976", "duration" => 1247, "filename" => "/downloads/Good Mythical Morning/International Subway Taste Test/International Subway Taste Test [4ecTqrjBtBo].mp4", "id" => "4ecTqrjBtBo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4ecTqrjBtBo", "playlist_index" => 5, "timestamp" => 1770634817, "title" => "International Subway Taste Test", "upload_date" => "20260209"} 19:18:10.287 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1095.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:10.289 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1096.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:10.318 [debug] QUERY OK source="media_items" db=29.0ms idle=1097.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-09 11:00:17Z], 6] 19:18:10.321 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=1126.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see how different sub sandwiches taste throughout the world.\n\nWatch today's GMMORE: https://youtu.be/GFtZdJm-oao\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/ZBnWL5f_N2I\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2976", "International Subway Taste Test", "c6bcf887-3753-4112-bcb2-add05e4222d5", 1247, false, "4ecTqrjBtBo", "https://www.youtube.com/watch?v=4ecTqrjBtBo", 5, "/downloads/Good Mythical Morning/International Subway Taste Test/International Subway Taste Test [4ecTqrjBtBo].mp4", false, false, false, 6, [], 98, ~U[2026-02-09 11:00:17Z], ~U[2026-02-15 19:18:10Z], ~U[2026-02-15 19:18:10Z], "Today we see how different sub sandwiches taste throughout the world.\n\nWatch today's GMMORE: https://youtu.be/GFtZdJm-oao\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/ZBnWL5f_N2I\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2976", "International Subway Taste Test", 1247, false, "4ecTqrjBtBo", "https://www.youtube.com/watch?v=4ecTqrjBtBo", "/downloads/Good Mythical Morning/International Subway Taste Test/International Subway Taste Test [4ecTqrjBtBo].mp4", false, 6, ~U[2026-02-09 11:00:17Z]] 19:18:10.322 [debug] QUERY OK source="sources" db=0.3ms idle=794.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:10.322 [debug] QUERY OK source="media_profiles" db=0.2ms idle=34.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:10.323 [debug] QUERY OK source="media_items" db=0.3ms idle=34.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24143] 19:18:10.323 [debug] Current batch of media processed. Will check again in 1000ms 19:18:11.324 [debug] Current batch of media processed. Will check again in 1000ms 19:18:12.325 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we put our taste buds to the taste and see how refined our palates are!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nWatch today's GMMORE: https://youtu.be/DX_qURN9gps\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2975", "duration" => 1499, "filename" => "/downloads/Good Mythical Morning/Award-Winning Snacks Taste Test/Award-Winning Snacks Taste Test [AF_UTF0DPcU].mp4", "id" => "AF_UTF0DPcU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AF_UTF0DPcU", "playlist_index" => 6, "timestamp" => 1770375616, "title" => "Award-Winning Snacks Taste Test", "upload_date" => "20260206"} 19:18:12.327 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=795.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:12.328 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=135.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:12.359 [debug] QUERY OK source="media_items" db=30.7ms queue=0.1ms idle=136.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-06 11:00:16Z], 6] 19:18:12.363 [debug] QUERY OK source="media_items" db=2.8ms idle=167.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we put our taste buds to the taste and see how refined our palates are!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nWatch today's GMMORE: https://youtu.be/DX_qURN9gps\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2975", "Award-Winning Snacks Taste Test", "eca25347-78a6-4f09-befa-5648cd03893c", 1499, false, "AF_UTF0DPcU", "https://www.youtube.com/watch?v=AF_UTF0DPcU", 6, "/downloads/Good Mythical Morning/Award-Winning Snacks Taste Test/Award-Winning Snacks Taste Test [AF_UTF0DPcU].mp4", false, false, false, 6, [], 98, ~U[2026-02-06 11:00:16Z], ~U[2026-02-15 19:18:12Z], ~U[2026-02-15 19:18:12Z], "Today we put our taste buds to the taste and see how refined our palates are!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nWatch today's GMMORE: https://youtu.be/DX_qURN9gps\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2975", "Award-Winning Snacks Taste Test", 1499, false, "AF_UTF0DPcU", "https://www.youtube.com/watch?v=AF_UTF0DPcU", "/downloads/Good Mythical Morning/Award-Winning Snacks Taste Test/Award-Winning Snacks Taste Test [AF_UTF0DPcU].mp4", false, 6, ~U[2026-02-06 11:00:16Z]] 19:18:12.364 [debug] QUERY OK source="sources" db=0.2ms idle=171.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:12.364 [debug] QUERY OK source="media_profiles" db=0.3ms idle=37.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:12.365 [debug] QUERY OK source="media_items" db=0.4ms idle=36.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20432] 19:18:12.365 [debug] Current batch of media processed. Will check again in 1000ms 19:18:13.366 [debug] Current batch of media processed. Will check again in 1000ms 19:18:14.367 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, come check out our unclaimed mail haul!\n\nWatch today's GMMORE: https://youtu.be/Ekl2CF3X658\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttruBXEcNJLAiLSlbL9VEoq0D\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/gZab-J6PQx8\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2974", "duration" => 1628, "filename" => "/downloads/Good Mythical Morning/Unboxing Other People's Lost Mail/Unboxing Other People's Lost Mail [kyPfXI4-mpQ].mp4", "id" => "kyPfXI4-mpQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kyPfXI4-mpQ", "playlist_index" => 7, "timestamp" => 1770289290, "title" => "Unboxing Other People's Lost Mail", "upload_date" => "20260205"} 19:18:14.368 [debug] QUERY OK source="sources" db=0.4ms idle=823.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:14.369 [debug] QUERY OK source="sources" db=0.2ms idle=176.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:14.382 [debug] QUERY OK source="media_items" db=13.0ms idle=177.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 11:01:30Z], 6] 19:18:14.384 [debug] QUERY OK source="media_items" db=1.4ms idle=191.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, come check out our unclaimed mail haul!\n\nWatch today's GMMORE: https://youtu.be/Ekl2CF3X658\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttruBXEcNJLAiLSlbL9VEoq0D\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/gZab-J6PQx8\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2974", "Unboxing Other People's Lost Mail", "0b1fbf68-4927-4e02-9933-d399fc31f52d", 1628, false, "kyPfXI4-mpQ", "https://www.youtube.com/watch?v=kyPfXI4-mpQ", 7, "/downloads/Good Mythical Morning/Unboxing Other People's Lost Mail/Unboxing Other People's Lost Mail [kyPfXI4-mpQ].mp4", false, false, false, 6, [], 98, ~U[2026-02-05 11:01:30Z], ~U[2026-02-15 19:18:14Z], ~U[2026-02-15 19:18:14Z], "Today, come check out our unclaimed mail haul!\n\nWatch today's GMMORE: https://youtu.be/Ekl2CF3X658\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttruBXEcNJLAiLSlbL9VEoq0D\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/gZab-J6PQx8\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2974", "Unboxing Other People's Lost Mail", 1628, false, "kyPfXI4-mpQ", "https://www.youtube.com/watch?v=kyPfXI4-mpQ", "/downloads/Good Mythical Morning/Unboxing Other People's Lost Mail/Unboxing Other People's Lost Mail [kyPfXI4-mpQ].mp4", false, 6, ~U[2026-02-05 11:01:30Z]] 19:18:14.385 [debug] QUERY OK source="sources" db=0.2ms idle=192.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:14.385 [debug] QUERY OK source="media_profiles" db=0.2ms idle=17.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:14.386 [debug] QUERY OK source="media_items" db=0.3ms idle=16.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20203] 19:18:14.386 [debug] Current batch of media processed. Will check again in 1000ms 19:18:15.387 [debug] Current batch of media processed. Will check again in 1000ms 19:18:16.388 [debug] Current batch of media processed. Will check again in 1000ms 19:18:17.389 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we see if fancy food has a place in our favorite comfort foods. 🍒 Try the NEW limited-edition Shirley Temple OLIPOP! A brighter, bolder twist on the classic mocktail — made with real ingredients, low sugar, and a functional blend that supports digestive health. Get your free can at https://olipop.yt.link/YtGGDvp — buy any 2 cans in store and OLIPOP will pay you back for one!\n\nWatch today's GMMORE: https://youtu.be/DPCQlYYHxsk\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt19Zo-4AvqCzCg2K1-dRSg\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2973", "duration" => 2274, "filename" => "/downloads/Good Mythical Morning/Fancy Comfort Food Taste Test/Fancy Comfort Food Taste Test [hdaB8NMXN88].mp4", "id" => "hdaB8NMXN88", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hdaB8NMXN88", "playlist_index" => 8, "timestamp" => 1770202873, "title" => "Fancy Comfort Food Taste Test", "upload_date" => "20260204"} 19:18:17.391 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1198.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:17.392 [debug] QUERY OK source="sources" db=0.4ms idle=1199.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:17.416 [debug] QUERY OK source="media_items" db=23.8ms idle=1200.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-04 11:01:13Z], 6] 19:18:17.419 [debug] QUERY OK source="media_items" db=1.9ms idle=864.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see if fancy food has a place in our favorite comfort foods. 🍒 Try the NEW limited-edition Shirley Temple OLIPOP! A brighter, bolder twist on the classic mocktail — made with real ingredients, low sugar, and a functional blend that supports digestive health. Get your free can at https://olipop.yt.link/YtGGDvp — buy any 2 cans in store and OLIPOP will pay you back for one!\n\nWatch today's GMMORE: https://youtu.be/DPCQlYYHxsk\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt19Zo-4AvqCzCg2K1-dRSg\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2973", "Fancy Comfort Food Taste Test", "30324b7e-37a3-45ea-bb02-1a3725c708e4", 2274, false, "hdaB8NMXN88", "https://www.youtube.com/watch?v=hdaB8NMXN88", 8, "/downloads/Good Mythical Morning/Fancy Comfort Food Taste Test/Fancy Comfort Food Taste Test [hdaB8NMXN88].mp4", false, false, false, 6, [], 98, ~U[2026-02-04 11:01:13Z], ~U[2026-02-15 19:18:17Z], ~U[2026-02-15 19:18:17Z], "Today we see if fancy food has a place in our favorite comfort foods. 🍒 Try the NEW limited-edition Shirley Temple OLIPOP! A brighter, bolder twist on the classic mocktail — made with real ingredients, low sugar, and a functional blend that supports digestive health. Get your free can at https://olipop.yt.link/YtGGDvp — buy any 2 cans in store and OLIPOP will pay you back for one!\n\nWatch today's GMMORE: https://youtu.be/DPCQlYYHxsk\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt19Zo-4AvqCzCg2K1-dRSg\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2973", "Fancy Comfort Food Taste Test", 2274, false, "hdaB8NMXN88", "https://www.youtube.com/watch?v=hdaB8NMXN88", "/downloads/Good Mythical Morning/Fancy Comfort Food Taste Test/Fancy Comfort Food Taste Test [hdaB8NMXN88].mp4", false, 6, ~U[2026-02-04 11:01:13Z]] 19:18:17.419 [debug] QUERY OK source="sources" db=0.2ms idle=227.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:17.420 [debug] QUERY OK source="media_profiles" db=0.2ms idle=28.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:17.420 [debug] QUERY OK source="media_items" db=0.3ms idle=28.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19981] 19:18:17.420 [debug] Current batch of media processed. Will check again in 1000ms 19:18:18.422 [debug] Current batch of media processed. Will check again in 1000ms 19:18:19.423 [debug] Current batch of media processed. Will check again in 1000ms 19:18:20.424 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, we compare Dollar Tree products to expensive ones and see which can withstand our rage better.\n\nWatch today's GMMORE: https://youtu.be/JVvyzoKjOIY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/QBuQQPF2qO0\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2972", "duration" => 1317, "filename" => "/downloads/Good Mythical Morning/How Durable Are Dollar Store Products?/How Durable Are Dollar Store Products? [qst5sTpZONc].mp4", "id" => "qst5sTpZONc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qst5sTpZONc", "playlist_index" => 9, "timestamp" => 1770116493, "title" => "How Durable Are Dollar Store Products?", "upload_date" => "20260203"} 19:18:20.424 [debug] QUERY OK source="sources" db=0.2ms idle=1232.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:20.425 [debug] QUERY OK source="sources" db=0.2ms idle=1232.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:20.436 [debug] QUERY OK source="media_items" db=11.1ms idle=1233.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-03 11:01:33Z], 6] 19:18:20.438 [debug] QUERY OK source="media_items" db=1.3ms idle=1244.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we compare Dollar Tree products to expensive ones and see which can withstand our rage better.\n\nWatch today's GMMORE: https://youtu.be/JVvyzoKjOIY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/QBuQQPF2qO0\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2972", "How Durable Are Dollar Store Products?", "aeb815b5-eaf3-46a5-a6d3-cbaaa718d8c0", 1317, false, "qst5sTpZONc", "https://www.youtube.com/watch?v=qst5sTpZONc", 9, "/downloads/Good Mythical Morning/How Durable Are Dollar Store Products?/How Durable Are Dollar Store Products? [qst5sTpZONc].mp4", false, false, false, 6, [], 98, ~U[2026-02-03 11:01:33Z], ~U[2026-02-15 19:18:20Z], ~U[2026-02-15 19:18:20Z], "Today, we compare Dollar Tree products to expensive ones and see which can withstand our rage better.\n\nWatch today's GMMORE: https://youtu.be/JVvyzoKjOIY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/QBuQQPF2qO0\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2972", "How Durable Are Dollar Store Products?", 1317, false, "qst5sTpZONc", "https://www.youtube.com/watch?v=qst5sTpZONc", "/downloads/Good Mythical Morning/How Durable Are Dollar Store Products?/How Durable Are Dollar Store Products? [qst5sTpZONc].mp4", false, 6, ~U[2026-02-03 11:01:33Z]] 19:18:20.439 [debug] QUERY OK source="sources" db=0.3ms idle=878.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:20.439 [debug] QUERY OK source="media_profiles" db=0.2ms idle=14.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:20.440 [debug] QUERY OK source="media_items" db=0.2ms idle=14.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19764] 19:18:20.440 [debug] Current batch of media processed. Will check again in 1000ms 19:18:21.443 [debug] Current batch of media processed. Will check again in 1000ms 19:18:22.445 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we find out if these classic kid's foods are better spicy.\n\nWatch today's GMMORE: https://youtu.be/yM1v0rYl3rg\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2971", "duration" => 1257, "filename" => "/downloads/Good Mythical Morning/Are Kid's Foods Better Spicy? (Taste Test)/Are Kid's Foods Better Spicy? (Taste Test) [3SO6r0dtth4].mp4", "id" => "3SO6r0dtth4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3SO6r0dtth4", "playlist_index" => 10, "timestamp" => 1770030015, "title" => "Are Kid's Foods Better Spicy? (Taste Test)", "upload_date" => "20260202"} 19:18:22.446 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=879.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:22.447 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=255.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:22.478 [debug] QUERY OK source="media_items" db=29.9ms idle=255.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-02 11:00:15Z], 6] 19:18:22.482 [debug] QUERY OK source="media_items" db=3.4ms idle=286.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we find out if these classic kid's foods are better spicy.\n\nWatch today's GMMORE: https://youtu.be/yM1v0rYl3rg\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2971", "Are Kid's Foods Better Spicy? (Taste Test)", "01868fd3-2e2c-46ec-8300-1aef28e0b8e3", 1257, false, "3SO6r0dtth4", "https://www.youtube.com/watch?v=3SO6r0dtth4", 10, "/downloads/Good Mythical Morning/Are Kid's Foods Better Spicy? (Taste Test)/Are Kid's Foods Better Spicy? (Taste Test) [3SO6r0dtth4].mp4", false, false, false, 6, [], 98, ~U[2026-02-02 11:00:15Z], ~U[2026-02-15 19:18:22Z], ~U[2026-02-15 19:18:22Z], "Today we find out if these classic kid's foods are better spicy.\n\nWatch today's GMMORE: https://youtu.be/yM1v0rYl3rg\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2971", "Are Kid's Foods Better Spicy? (Taste Test)", 1257, false, "3SO6r0dtth4", "https://www.youtube.com/watch?v=3SO6r0dtth4", "/downloads/Good Mythical Morning/Are Kid's Foods Better Spicy? (Taste Test)/Are Kid's Foods Better Spicy? (Taste Test) [3SO6r0dtth4].mp4", false, 6, ~U[2026-02-02 11:00:15Z]] 19:18:22.484 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=290.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:22.485 [debug] QUERY OK source="media_profiles" db=1.3ms idle=37.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:22.487 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=38.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19544] 19:18:22.488 [debug] Current batch of media processed. Will check again in 1000ms 19:18:23.489 [debug] Current batch of media processed. Will check again in 1000ms 19:18:24.490 [debug] Current batch of media processed. Will check again in 1000ms 19:18:25.491 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we decide if expensive ingredients make a tastier meal.\n\nWatch today's GMMORE: https://youtu.be/izV8wrXDEoo\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/sZgv5siACnA\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2970", "duration" => 1160, "filename" => "/downloads/Good Mythical Morning/Cheap vs Expensive Grocery Stores (Taste Test)/Cheap vs Expensive Grocery Stores (Taste Test) [K2O11fiynxY].mp4", "id" => "K2O11fiynxY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=K2O11fiynxY", "playlist_index" => 11, "timestamp" => 1769770840, "title" => "Cheap vs Expensive Grocery Stores (Taste Test)", "upload_date" => "20260130"} 19:18:25.493 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=1300.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:25.495 [debug] QUERY OK source="sources" db=0.9ms queue=0.7ms idle=1301.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:25.507 [debug] QUERY OK source="media_items" db=11.8ms queue=0.1ms idle=1303.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-30 11:00:40Z], 6] 19:18:25.510 [debug] QUERY OK source="media_items" db=1.4ms idle=1316.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we decide if expensive ingredients make a tastier meal.\n\nWatch today's GMMORE: https://youtu.be/izV8wrXDEoo\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/sZgv5siACnA\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2970", "Cheap vs Expensive Grocery Stores (Taste Test)", "2df61f88-7a7f-4012-b853-7dc52329cec6", 1160, false, "K2O11fiynxY", "https://www.youtube.com/watch?v=K2O11fiynxY", 11, "/downloads/Good Mythical Morning/Cheap vs Expensive Grocery Stores (Taste Test)/Cheap vs Expensive Grocery Stores (Taste Test) [K2O11fiynxY].mp4", false, false, false, 6, [], 98, ~U[2026-01-30 11:00:40Z], ~U[2026-02-15 19:18:25Z], ~U[2026-02-15 19:18:25Z], "Today we decide if expensive ingredients make a tastier meal.\n\nWatch today's GMMORE: https://youtu.be/izV8wrXDEoo\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/sZgv5siACnA\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2970", "Cheap vs Expensive Grocery Stores (Taste Test)", 1160, false, "K2O11fiynxY", "https://www.youtube.com/watch?v=K2O11fiynxY", "/downloads/Good Mythical Morning/Cheap vs Expensive Grocery Stores (Taste Test)/Cheap vs Expensive Grocery Stores (Taste Test) [K2O11fiynxY].mp4", false, 6, ~U[2026-01-30 11:00:40Z]] 19:18:25.510 [debug] QUERY OK source="sources" db=0.2ms idle=936.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:25.510 [debug] QUERY OK source="media_profiles" db=0.2ms idle=17.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:25.511 [debug] QUERY OK source="media_items" db=0.2ms idle=15.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18897] 19:18:25.511 [debug] Current batch of media processed. Will check again in 1000ms 19:18:26.512 [debug] Current batch of media processed. Will check again in 1000ms 19:18:27.513 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we reimagine iconic food acronyms.\n\nWatch today's GMMORE: https://youtu.be/m9wyccLpH9s\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtBUO6tGEOj3IpbtmFxBPRa\nhttps://youtu.be/NTOACqNOU3o\n\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2969", "duration" => 1273, "filename" => "/downloads/Good Mythical Morning/Don't Eat The Nasty "BLT"/Don't Eat The Nasty "BLT" [oqwWDcXSulA].mp4", "id" => "oqwWDcXSulA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oqwWDcXSulA", "playlist_index" => 12, "timestamp" => 1769684491, "title" => "Don't Eat The Nasty \"BLT\"", "upload_date" => "20260129"} 19:18:27.513 [debug] QUERY OK source="sources" db=0.2ms idle=933.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:27.514 [debug] QUERY OK source="sources" db=0.2ms idle=321.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:27.525 [debug] QUERY OK source="media_items" db=10.7ms idle=322.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 11:01:31Z], 6] 19:18:27.527 [debug] QUERY OK source="media_items" db=1.2ms idle=333.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we reimagine iconic food acronyms.\n\nWatch today's GMMORE: https://youtu.be/m9wyccLpH9s\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtBUO6tGEOj3IpbtmFxBPRa\nhttps://youtu.be/NTOACqNOU3o\n\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2969", "Don't Eat The Nasty \"BLT\"", "46dd0ee5-f276-4500-bd9f-2f36d816e807", 1273, false, "oqwWDcXSulA", "https://www.youtube.com/watch?v=oqwWDcXSulA", 12, "/downloads/Good Mythical Morning/Don't Eat The Nasty "BLT"/Don't Eat The Nasty "BLT" [oqwWDcXSulA].mp4", false, false, false, 6, [], 98, ~U[2026-01-29 11:01:31Z], ~U[2026-02-15 19:18:27Z], ~U[2026-02-15 19:18:27Z], "Today we reimagine iconic food acronyms.\n\nWatch today's GMMORE: https://youtu.be/m9wyccLpH9s\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtBUO6tGEOj3IpbtmFxBPRa\nhttps://youtu.be/NTOACqNOU3o\n\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2969", "Don't Eat The Nasty \"BLT\"", 1273, false, "oqwWDcXSulA", "https://www.youtube.com/watch?v=oqwWDcXSulA", "/downloads/Good Mythical Morning/Don't Eat The Nasty "BLT"/Don't Eat The Nasty "BLT" [oqwWDcXSulA].mp4", false, 6, ~U[2026-01-29 11:01:31Z]] 19:18:27.527 [debug] QUERY OK source="sources" db=0.3ms idle=335.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:27.528 [debug] QUERY OK source="media_profiles" db=0.2ms idle=13.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:27.528 [debug] QUERY OK source="media_items" db=0.2ms idle=13.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18682] 19:18:27.528 [debug] Current batch of media processed. Will check again in 1000ms 19:18:28.529 [debug] Current batch of media processed. Will check again in 1000ms 19:18:28.609 [info] {"source":"oban","duration":1734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:29.530 [debug] Current batch of media processed. Will check again in 1000ms 19:18:30.531 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, we see if food tastes better if it looks like art!\n\nWatch today's GMMORE: https://youtu.be/jxwje6J_H6A\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2968", "duration" => 1245, "filename" => "/downloads/Good Mythical Morning/Does Playing With Food Make It Better?/Does Playing With Food Make It Better? [fx67pb85gpU].mp4", "id" => "fx67pb85gpU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fx67pb85gpU", "playlist_index" => 13, "timestamp" => 1769598076, "title" => "Does Playing With Food Make It Better?", "upload_date" => "20260128"} 19:18:30.532 [debug] QUERY OK source="sources" db=0.2ms idle=1339.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:30.532 [debug] QUERY OK source="sources" db=0.1ms idle=1339.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:30.543 [debug] QUERY OK source="media_items" db=10.6ms idle=1340.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-28 11:01:16Z], 6] 19:18:30.547 [debug] QUERY OK source="media_items" db=3.3ms idle=956.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we see if food tastes better if it looks like art!\n\nWatch today's GMMORE: https://youtu.be/jxwje6J_H6A\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2968", "Does Playing With Food Make It Better?", "930d94ff-6347-4ef7-8cb4-e2b31656f208", 1245, false, "fx67pb85gpU", "https://www.youtube.com/watch?v=fx67pb85gpU", 13, "/downloads/Good Mythical Morning/Does Playing With Food Make It Better?/Does Playing With Food Make It Better? [fx67pb85gpU].mp4", false, false, false, 6, [], 98, ~U[2026-01-28 11:01:16Z], ~U[2026-02-15 19:18:30Z], ~U[2026-02-15 19:18:30Z], "Today, we see if food tastes better if it looks like art!\n\nWatch today's GMMORE: https://youtu.be/jxwje6J_H6A\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2968", "Does Playing With Food Make It Better?", 1245, false, "fx67pb85gpU", "https://www.youtube.com/watch?v=fx67pb85gpU", "/downloads/Good Mythical Morning/Does Playing With Food Make It Better?/Does Playing With Food Make It Better? [fx67pb85gpU].mp4", false, 6, ~U[2026-01-28 11:01:16Z]] 19:18:30.547 [debug] QUERY OK source="sources" db=0.4ms idle=354.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:30.548 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms idle=15.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:30.549 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=16.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18466] 19:18:30.549 [debug] Current batch of media processed. Will check again in 1000ms 19:18:31.551 [debug] Current batch of media processed. Will check again in 1000ms 19:18:32.552 [debug] Current batch of media processed. Will check again in 1000ms 19:18:33.553 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we attempt to pull off https://www.youtube.com/@dudeperfect style trick shots!\n\nWatch today's GMMORE: https://youtu.be/0c6qqh-9few\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com\n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtfUpSfPjC1Gma1G9Sv8gQq\nhttps://youtu.be/dX_mdg0zmHM\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2967", "duration" => 1582, "filename" => "/downloads/Good Mythical Morning/Food Trick Shot Battle (ft. Dude Perfect)/Food Trick Shot Battle (ft. Dude Perfect) [wNSaKGpe7JY].mp4", "id" => "wNSaKGpe7JY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wNSaKGpe7JY", "playlist_index" => 14, "timestamp" => 1769511703, "title" => "Food Trick Shot Battle (ft. Dude Perfect)", "upload_date" => "20260127"} 19:18:33.554 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1361.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:33.556 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1362.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:33.569 [debug] QUERY OK source="media_items" db=13.1ms queue=0.1ms idle=1363.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-27 11:01:43Z], 6] 19:18:33.571 [debug] QUERY OK source="media_items" db=1.3ms idle=1377.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we attempt to pull off https://www.youtube.com/@dudeperfect style trick shots!\n\nWatch today's GMMORE: https://youtu.be/0c6qqh-9few\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com\n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtfUpSfPjC1Gma1G9Sv8gQq\nhttps://youtu.be/dX_mdg0zmHM\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2967", "Food Trick Shot Battle (ft. Dude Perfect)", "87c7484e-57d9-4b56-aff5-9bc33b8d52cc", 1582, false, "wNSaKGpe7JY", "https://www.youtube.com/watch?v=wNSaKGpe7JY", 14, "/downloads/Good Mythical Morning/Food Trick Shot Battle (ft. Dude Perfect)/Food Trick Shot Battle (ft. Dude Perfect) [wNSaKGpe7JY].mp4", false, false, false, 6, [], 98, ~U[2026-01-27 11:01:43Z], ~U[2026-02-15 19:18:33Z], ~U[2026-02-15 19:18:33Z], "Today we attempt to pull off https://www.youtube.com/@dudeperfect style trick shots!\n\nWatch today's GMMORE: https://youtu.be/0c6qqh-9few\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com\n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtfUpSfPjC1Gma1G9Sv8gQq\nhttps://youtu.be/dX_mdg0zmHM\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2967", "Food Trick Shot Battle (ft. Dude Perfect)", 1582, false, "wNSaKGpe7JY", "https://www.youtube.com/watch?v=wNSaKGpe7JY", "/downloads/Good Mythical Morning/Food Trick Shot Battle (ft. Dude Perfect)/Food Trick Shot Battle (ft. Dude Perfect) [wNSaKGpe7JY].mp4", false, 6, ~U[2026-01-27 11:01:43Z]] 19:18:33.572 [debug] QUERY OK source="sources" db=0.2ms idle=981.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:33.572 [debug] QUERY OK source="media_profiles" db=0.3ms idle=17.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:33.573 [debug] QUERY OK source="media_items" db=0.3ms idle=16.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18249] 19:18:33.573 [debug] Current batch of media processed. Will check again in 1000ms 19:18:34.574 [debug] Current batch of media processed. Will check again in 1000ms 19:18:35.575 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we rank different pizzas, blindfolded!\n\nWatch today's GMMORE: https://youtu.be/9Wl4PR6xgeQ\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/oumKoEgvAUc\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2966", "duration" => 912, "filename" => "/downloads/Good Mythical Morning/Blind Pizza Taste Test/Blind Pizza Taste Test [RgM-E3jwPhM].mp4", "id" => "RgM-E3jwPhM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RgM-E3jwPhM", "playlist_index" => 15, "timestamp" => 1769425246, "title" => "Blind Pizza Taste Test", "upload_date" => "20260126"} 19:18:35.578 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=979.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:35.580 [debug] QUERY OK source="sources" db=1.0ms idle=386.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:35.611 [debug] QUERY OK source="media_items" db=31.3ms idle=388.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-26 11:00:46Z], 6] 19:18:35.615 [debug] QUERY OK source="media_items" db=2.2ms idle=420.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we rank different pizzas, blindfolded!\n\nWatch today's GMMORE: https://youtu.be/9Wl4PR6xgeQ\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/oumKoEgvAUc\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2966", "Blind Pizza Taste Test", "9103ab92-021b-4762-9f6b-6b6565d37028", 912, false, "RgM-E3jwPhM", "https://www.youtube.com/watch?v=RgM-E3jwPhM", 15, "/downloads/Good Mythical Morning/Blind Pizza Taste Test/Blind Pizza Taste Test [RgM-E3jwPhM].mp4", false, false, false, 6, [], 98, ~U[2026-01-26 11:00:46Z], ~U[2026-02-15 19:18:35Z], ~U[2026-02-15 19:18:35Z], "Today we rank different pizzas, blindfolded!\n\nWatch today's GMMORE: https://youtu.be/9Wl4PR6xgeQ\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/oumKoEgvAUc\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2966", "Blind Pizza Taste Test", 912, false, "RgM-E3jwPhM", "https://www.youtube.com/watch?v=RgM-E3jwPhM", "/downloads/Good Mythical Morning/Blind Pizza Taste Test/Blind Pizza Taste Test [RgM-E3jwPhM].mp4", false, 6, ~U[2026-01-26 11:00:46Z]] 19:18:35.615 [debug] QUERY OK source="sources" db=0.3ms idle=36.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:35.616 [debug] QUERY OK source="media_profiles" db=0.3ms idle=35.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:35.616 [debug] QUERY OK source="media_items" db=0.4ms idle=16.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18032] 19:18:35.617 [debug] Current batch of media processed. Will check again in 1000ms 19:18:36.618 [debug] Current batch of media processed. Will check again in 1000ms 19:18:37.619 [debug] Current batch of media processed. Will check again in 1000ms 19:18:38.620 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, we answer the question is the best part of food the middle?\n\nWatch today's GMMORE: https://youtu.be/B8Sn6Uoy17w\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvVm6IJHIOEuX6WU1fcFFLF\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2965", "duration" => 1487, "filename" => "/downloads/Good Mythical Morning/Is The Middle The Best Bite? (Taste Test)/Is The Middle The Best Bite? (Taste Test) [CYx9xhoSFgE].mp4", "id" => "CYx9xhoSFgE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CYx9xhoSFgE", "playlist_index" => 16, "timestamp" => 1769166031, "title" => "Is The Middle The Best Bite? (Taste Test)", "upload_date" => "20260123"} 19:18:38.620 [debug] QUERY OK source="sources" db=0.3ms idle=1428.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:38.621 [debug] QUERY OK source="sources" db=0.4ms idle=1429.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:38.633 [debug] QUERY OK source="media_items" db=11.4ms idle=1429.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-23 11:00:31Z], 6] 19:18:38.635 [debug] QUERY OK source="media_items" db=1.1ms idle=1026.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we answer the question is the best part of food the middle?\n\nWatch today's GMMORE: https://youtu.be/B8Sn6Uoy17w\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvVm6IJHIOEuX6WU1fcFFLF\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2965", "Is The Middle The Best Bite? (Taste Test)", "71be2dfc-22e6-405d-9b67-ac97f2620e0b", 1487, false, "CYx9xhoSFgE", "https://www.youtube.com/watch?v=CYx9xhoSFgE", 16, "/downloads/Good Mythical Morning/Is The Middle The Best Bite? (Taste Test)/Is The Middle The Best Bite? (Taste Test) [CYx9xhoSFgE].mp4", false, false, false, 6, [], 98, ~U[2026-01-23 11:00:31Z], ~U[2026-02-15 19:18:38Z], ~U[2026-02-15 19:18:38Z], "Today, we answer the question is the best part of food the middle?\n\nWatch today's GMMORE: https://youtu.be/B8Sn6Uoy17w\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvVm6IJHIOEuX6WU1fcFFLF\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2965", "Is The Middle The Best Bite? (Taste Test)", 1487, false, "CYx9xhoSFgE", "https://www.youtube.com/watch?v=CYx9xhoSFgE", "/downloads/Good Mythical Morning/Is The Middle The Best Bite? (Taste Test)/Is The Middle The Best Bite? (Taste Test) [CYx9xhoSFgE].mp4", false, 6, ~U[2026-01-23 11:00:31Z]] 19:18:38.635 [debug] QUERY OK source="sources" db=0.5ms idle=26.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:38.636 [debug] QUERY OK source="media_profiles" db=0.3ms idle=14.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:38.636 [debug] QUERY OK source="media_items" db=0.4ms idle=14.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3233] 19:18:38.636 [debug] Current batch of media processed. Will check again in 1000ms 19:18:39.638 [debug] Current batch of media processed. Will check again in 1000ms 19:18:40.639 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we find out if we can find Rhett a new best friend.\n\nWatch today's GMMORE: https://youtu.be/GNrrL2eEKUY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/3YA7wi5ZGSQ\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2964", "duration" => 1386, "filename" => "/downloads/Good Mythical Morning/Should We Replace Link?/Should We Replace Link? [DQXrnVK2C9A].mp4", "id" => "DQXrnVK2C9A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DQXrnVK2C9A", "playlist_index" => 17, "timestamp" => 1769079620, "title" => "Should We Replace Link?", "upload_date" => "20260122"} 19:18:40.640 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=448.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:40.642 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=449.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:40.670 [debug] QUERY OK source="media_items" db=28.1ms queue=0.1ms idle=450.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 11:00:20Z], 6] 19:18:40.674 [debug] QUERY OK source="media_items" db=2.5ms idle=479.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we find out if we can find Rhett a new best friend.\n\nWatch today's GMMORE: https://youtu.be/GNrrL2eEKUY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/3YA7wi5ZGSQ\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2964", "Should We Replace Link?", "c1999a6e-c8f8-48a2-846a-93a5fee72b33", 1386, false, "DQXrnVK2C9A", "https://www.youtube.com/watch?v=DQXrnVK2C9A", 17, "/downloads/Good Mythical Morning/Should We Replace Link?/Should We Replace Link? [DQXrnVK2C9A].mp4", false, false, false, 6, [], 97, ~U[2026-01-22 11:00:20Z], ~U[2026-02-15 19:18:40Z], ~U[2026-02-15 19:18:40Z], "Today we find out if we can find Rhett a new best friend.\n\nWatch today's GMMORE: https://youtu.be/GNrrL2eEKUY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/3YA7wi5ZGSQ\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2964", "Should We Replace Link?", 1386, false, "DQXrnVK2C9A", "https://www.youtube.com/watch?v=DQXrnVK2C9A", "/downloads/Good Mythical Morning/Should We Replace Link?/Should We Replace Link? [DQXrnVK2C9A].mp4", false, 6, ~U[2026-01-22 11:00:20Z]] 19:18:40.675 [debug] QUERY OK source="sources" db=0.3ms idle=61.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:40.675 [debug] QUERY OK source="media_profiles" db=0.3ms idle=34.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:40.676 [debug] QUERY OK source="media_items" db=0.4ms idle=33.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3234] 19:18:40.676 [debug] Current batch of media processed. Will check again in 1000ms 19:18:41.677 [debug] Current batch of media processed. Will check again in 1000ms 19:18:42.678 [debug] Current batch of media processed. Will check again in 1000ms 19:18:43.679 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, we determine which is the best way to cook your food, microwave vs. oven.\n\nWatch today's GMMORE: https://youtu.be/zwIQ4ZUWKeA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR \n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2963", "duration" => 1358, "filename" => "/downloads/Good Mythical Morning/Microwave vs. Oven Taste Test/Microwave vs. Oven Taste Test [mYgtvcdT6vM].mp4", "id" => "mYgtvcdT6vM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mYgtvcdT6vM", "playlist_index" => 18, "timestamp" => 1768993293, "title" => "Microwave vs. Oven Taste Test", "upload_date" => "20260121"} 19:18:43.680 [debug] QUERY OK source="sources" db=0.4ms idle=1488.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:43.681 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1489.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:43.711 [debug] QUERY OK source="media_items" db=29.2ms queue=0.1ms idle=1490.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-21 11:01:33Z], 6] 19:18:43.715 [debug] QUERY OK source="media_items" db=2.3ms idle=1092.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we determine which is the best way to cook your food, microwave vs. oven.\n\nWatch today's GMMORE: https://youtu.be/zwIQ4ZUWKeA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR \n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2963", "Microwave vs. Oven Taste Test", "815e002a-157b-43d1-a072-7d0981c37545", 1358, false, "mYgtvcdT6vM", "https://www.youtube.com/watch?v=mYgtvcdT6vM", 18, "/downloads/Good Mythical Morning/Microwave vs. Oven Taste Test/Microwave vs. Oven Taste Test [mYgtvcdT6vM].mp4", false, false, false, 6, [], 98, ~U[2026-01-21 11:01:33Z], ~U[2026-02-15 19:18:43Z], ~U[2026-02-15 19:18:43Z], "Today, we determine which is the best way to cook your food, microwave vs. oven.\n\nWatch today's GMMORE: https://youtu.be/zwIQ4ZUWKeA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR \n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2963", "Microwave vs. Oven Taste Test", 1358, false, "mYgtvcdT6vM", "https://www.youtube.com/watch?v=mYgtvcdT6vM", "/downloads/Good Mythical Morning/Microwave vs. Oven Taste Test/Microwave vs. Oven Taste Test [mYgtvcdT6vM].mp4", false, 6, ~U[2026-01-21 11:01:33Z]] 19:18:43.715 [debug] QUERY OK source="sources" db=0.3ms idle=93.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:43.716 [debug] QUERY OK source="media_profiles" db=0.3ms idle=35.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:43.717 [debug] QUERY OK source="media_items" db=0.4ms idle=34.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3237] 19:18:43.717 [debug] Current batch of media processed. Will check again in 1000ms 19:18:44.718 [debug] Current batch of media processed. Will check again in 1000ms 19:18:45.452 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@GoodMythicalMorning --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Good Mythical Morning/%(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/b7/e9/b7e9494030b9922bae10624ce77ec9eb7a0f43d176aebcd95bb00d7510b7c736.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/4a/b3/4ab3efe2ab5393fea7dbad338872bb918f194d0f0bc9b30095c3914d18d08fbb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 19:18:45.453 [debug] Gracefully stopping file follower 19:18:45.454 [debug] QUERY OK source="sources" db=0.9ms idle=829.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:45.454 [debug] QUERY OK source="sources" db=0.1ms idle=262.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.466 [debug] QUERY OK source="media_items" db=11.7ms idle=262.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-13 11:00:21Z], 6] 19:18:45.468 [debug] QUERY OK source="media_items" db=1.6ms idle=274.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see what's better cocktail candies or candy cocktails. Help us send Stevie off with the fondest, most Mythical farewell possible! https://Mythical.com/Stevie\n\nWatch today's GMMORE: https://youtu.be/qxg2_CA8Z7Y\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2980", "Candy Cocktails vs Cocktail Candies Taste Test", "87e11830-ae30-467f-b864-cc43d707c030", 1808, false, "E4aDp87hLbE", "https://www.youtube.com/watch?v=E4aDp87hLbE", 1, "/downloads/Good Mythical Morning/Candy Cocktails vs Cocktail Candies Taste Test/Candy Cocktails vs Cocktail Candies Taste Test [E4aDp87hLbE].mp4", false, false, false, 6, [], 98, ~U[2026-02-13 11:00:21Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today we see what's better cocktail candies or candy cocktails. Help us send Stevie off with the fondest, most Mythical farewell possible! https://Mythical.com/Stevie\n\nWatch today's GMMORE: https://youtu.be/qxg2_CA8Z7Y\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2980", "Candy Cocktails vs Cocktail Candies Taste Test", 1808, false, "E4aDp87hLbE", "https://www.youtube.com/watch?v=E4aDp87hLbE", "/downloads/Good Mythical Morning/Candy Cocktails vs Cocktail Candies Taste Test/Candy Cocktails vs Cocktail Candies Taste Test [E4aDp87hLbE].mp4", false, 6, ~U[2026-02-13 11:00:21Z]] 19:18:45.469 [debug] QUERY OK source="sources" db=0.1ms idle=277.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.481 [debug] QUERY OK source="media_items" db=11.5ms idle=15.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 11:00:30Z], 6] 19:18:45.483 [debug] QUERY OK source="media_items" db=1.4ms idle=26.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we find out which gourmet dog food tastes the best!\n\nWatch today's GMMORE: https://youtu.be/fQXlbkhOHTA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvzyYLLkhoyqe51ptzxCROA\nhttps://youtu.be/Q5AbAM9ZEio\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2979", "Is This Dog Food Good Enough For People?", "ac6afdaf-e787-47ee-92fc-4534527cebae", 1182, false, "IU1q9kAhywM", "https://www.youtube.com/watch?v=IU1q9kAhywM", 2, "/downloads/Good Mythical Morning/Is This Dog Food Good Enough For People?/Is This Dog Food Good Enough For People? [IU1q9kAhywM].mp4", false, false, false, 6, [], 98, ~U[2026-02-12 11:00:30Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today we find out which gourmet dog food tastes the best!\n\nWatch today's GMMORE: https://youtu.be/fQXlbkhOHTA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvzyYLLkhoyqe51ptzxCROA\nhttps://youtu.be/Q5AbAM9ZEio\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2979", "Is This Dog Food Good Enough For People?", 1182, false, "IU1q9kAhywM", "https://www.youtube.com/watch?v=IU1q9kAhywM", "/downloads/Good Mythical Morning/Is This Dog Food Good Enough For People?/Is This Dog Food Good Enough For People? [IU1q9kAhywM].mp4", false, 6, ~U[2026-02-12 11:00:30Z]] 19:18:45.484 [debug] QUERY OK source="sources" db=1.3ms idle=16.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.497 [debug] QUERY OK source="media_items" db=12.2ms idle=16.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-11 11:00:32Z], 6] 19:18:45.499 [debug] QUERY OK source="media_items" db=1.7ms idle=28.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we try to guess the snack from our vending machine. Thank you to Mint Mobile for partnering with us on this video! And for a limited time, you can get 50% off an unlimited premium wireless plan from Mint by visiting https://mintmobile.yt.link/tz4hghi. Lock in Mint’s lowest price of the year and pay just $15/mo for a 3, 6, or 12 month plan. Limited time offer. Upfront payment of: $45 for 3-mo., $90 for 6-mo., or $180 for 12-mo. plan req’d ($15/mo. equiv.). Taxes & fees extra. Initial plan term only. 50GB or more may slow when network is busy. Capable device req'd. Availability, speed & coverage varies. See https://mintmobile.yt.link/tz4hghi \n\nWatch today's GMMORE: https://youtu.be/FJLROFDDgXY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsl9Dhl6n4bPlNsb6h-2Bm-\n\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2978", "Guess The Mystery Vending Machine Snack", "d99c6ad4-8490-439c-89af-262cd212ed93", 1775, false, "G0lBo0mWl4o", "https://www.youtube.com/watch?v=G0lBo0mWl4o", 3, "/downloads/Good Mythical Morning/Guess The Mystery Vending Machine Snack/Guess The Mystery Vending Machine Snack [G0lBo0mWl4o].mp4", false, false, false, 6, [], 98, ~U[2026-02-11 11:00:32Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today, we try to guess the snack from our vending machine. Thank you to Mint Mobile for partnering with us on this video! And for a limited time, you can get 50% off an unlimited premium wireless plan from Mint by visiting https://mintmobile.yt.link/tz4hghi. Lock in Mint’s lowest price of the year and pay just $15/mo for a 3, 6, or 12 month plan. Limited time offer. Upfront payment of: $45 for 3-mo., $90 for 6-mo., or $180 for 12-mo. plan req’d ($15/mo. equiv.). Taxes & fees extra. Initial plan term only. 50GB or more may slow when network is busy. Capable device req'd. Availability, speed & coverage varies. See https://mintmobile.yt.link/tz4hghi \n\nWatch today's GMMORE: https://youtu.be/FJLROFDDgXY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsl9Dhl6n4bPlNsb6h-2Bm-\n\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2978", "Guess The Mystery Vending Machine Snack", 1775, false, "G0lBo0mWl4o", "https://www.youtube.com/watch?v=G0lBo0mWl4o", "/downloads/Good Mythical Morning/Guess The Mystery Vending Machine Snack/Guess The Mystery Vending Machine Snack [G0lBo0mWl4o].mp4", false, 6, ~U[2026-02-11 11:00:32Z]] 19:18:45.501 [debug] QUERY OK source="sources" db=1.3ms idle=18.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.512 [debug] QUERY OK source="media_items" db=11.4ms idle=18.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-10 11:01:27Z], 6] 19:18:45.514 [debug] QUERY OK source="media_items" db=1.4ms idle=28.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see what the most expensive products are at a drugstore.\n\nWatch today's GMMORE: https://youtu.be/UMc5scZm_Rc\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2977", "Are These Drugstore Products Worth It?", "08ad0755-a4d4-41e5-bb1d-7db7dc03e60a", 1676, false, "qgNwW-oVjv8", "https://www.youtube.com/watch?v=qgNwW-oVjv8", 4, "/downloads/Good Mythical Morning/Are These Drugstore Products Worth It?/Are These Drugstore Products Worth It? [qgNwW-oVjv8].mp4", false, false, false, 6, [], 98, ~U[2026-02-10 11:01:27Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today we see what the most expensive products are at a drugstore.\n\nWatch today's GMMORE: https://youtu.be/UMc5scZm_Rc\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2977", "Are These Drugstore Products Worth It?", 1676, false, "qgNwW-oVjv8", "https://www.youtube.com/watch?v=qgNwW-oVjv8", "/downloads/Good Mythical Morning/Are These Drugstore Products Worth It?/Are These Drugstore Products Worth It? [qgNwW-oVjv8].mp4", false, 6, ~U[2026-02-10 11:01:27Z]] 19:18:45.516 [debug] QUERY OK source="sources" db=1.7ms idle=17.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.527 [debug] QUERY OK source="media_items" db=10.9ms idle=17.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-09 11:00:17Z], 6] 19:18:45.529 [debug] QUERY OK source="media_items" db=1.4ms idle=27.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see how different sub sandwiches taste throughout the world.\n\nWatch today's GMMORE: https://youtu.be/GFtZdJm-oao\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/ZBnWL5f_N2I\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2976", "International Subway Taste Test", "43c5de09-25ce-4109-8893-2225642bd78e", 1247, false, "4ecTqrjBtBo", "https://www.youtube.com/watch?v=4ecTqrjBtBo", 5, "/downloads/Good Mythical Morning/International Subway Taste Test/International Subway Taste Test [4ecTqrjBtBo].mp4", false, false, false, 6, [], 98, ~U[2026-02-09 11:00:17Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today we see how different sub sandwiches taste throughout the world.\n\nWatch today's GMMORE: https://youtu.be/GFtZdJm-oao\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/ZBnWL5f_N2I\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2976", "International Subway Taste Test", 1247, false, "4ecTqrjBtBo", "https://www.youtube.com/watch?v=4ecTqrjBtBo", "/downloads/Good Mythical Morning/International Subway Taste Test/International Subway Taste Test [4ecTqrjBtBo].mp4", false, 6, ~U[2026-02-09 11:00:17Z]] 19:18:45.531 [debug] QUERY OK source="sources" db=1.2ms idle=17.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.542 [debug] QUERY OK source="media_items" db=10.8ms idle=16.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-06 11:00:16Z], 6] 19:18:45.544 [debug] QUERY OK source="media_items" db=1.5ms idle=25.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we put our taste buds to the taste and see how refined our palates are!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nWatch today's GMMORE: https://youtu.be/DX_qURN9gps\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2975", "Award-Winning Snacks Taste Test", "8344c889-fa69-4303-9943-fa61c0f3d25a", 1499, false, "AF_UTF0DPcU", "https://www.youtube.com/watch?v=AF_UTF0DPcU", 6, "/downloads/Good Mythical Morning/Award-Winning Snacks Taste Test/Award-Winning Snacks Taste Test [AF_UTF0DPcU].mp4", false, false, false, 6, [], 98, ~U[2026-02-06 11:00:16Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today we put our taste buds to the taste and see how refined our palates are!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nWatch today's GMMORE: https://youtu.be/DX_qURN9gps\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2975", "Award-Winning Snacks Taste Test", 1499, false, "AF_UTF0DPcU", "https://www.youtube.com/watch?v=AF_UTF0DPcU", "/downloads/Good Mythical Morning/Award-Winning Snacks Taste Test/Award-Winning Snacks Taste Test [AF_UTF0DPcU].mp4", false, 6, ~U[2026-02-06 11:00:16Z]] 19:18:45.545 [debug] QUERY OK source="sources" db=1.2ms idle=16.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.556 [debug] QUERY OK source="media_items" db=10.7ms idle=16.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 11:01:30Z], 6] 19:18:45.559 [debug] QUERY OK source="media_items" db=1.5ms idle=25.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, come check out our unclaimed mail haul!\n\nWatch today's GMMORE: https://youtu.be/Ekl2CF3X658\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttruBXEcNJLAiLSlbL9VEoq0D\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/gZab-J6PQx8\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2974", "Unboxing Other People's Lost Mail", "f0e5f00f-63f9-4d15-a600-a6f03cb7443f", 1628, false, "kyPfXI4-mpQ", "https://www.youtube.com/watch?v=kyPfXI4-mpQ", 7, "/downloads/Good Mythical Morning/Unboxing Other People's Lost Mail/Unboxing Other People's Lost Mail [kyPfXI4-mpQ].mp4", false, false, false, 6, [], 98, ~U[2026-02-05 11:01:30Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today, come check out our unclaimed mail haul!\n\nWatch today's GMMORE: https://youtu.be/Ekl2CF3X658\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttruBXEcNJLAiLSlbL9VEoq0D\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/gZab-J6PQx8\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2974", "Unboxing Other People's Lost Mail", 1628, false, "kyPfXI4-mpQ", "https://www.youtube.com/watch?v=kyPfXI4-mpQ", "/downloads/Good Mythical Morning/Unboxing Other People's Lost Mail/Unboxing Other People's Lost Mail [kyPfXI4-mpQ].mp4", false, 6, ~U[2026-02-05 11:01:30Z]] 19:18:45.560 [debug] QUERY OK source="sources" db=1.2ms idle=16.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.571 [debug] QUERY OK source="media_items" db=10.8ms idle=16.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-04 11:01:13Z], 6] 19:18:45.573 [debug] QUERY OK source="media_items" db=1.5ms idle=25.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see if fancy food has a place in our favorite comfort foods. 🍒 Try the NEW limited-edition Shirley Temple OLIPOP! A brighter, bolder twist on the classic mocktail — made with real ingredients, low sugar, and a functional blend that supports digestive health. Get your free can at https://olipop.yt.link/YtGGDvp — buy any 2 cans in store and OLIPOP will pay you back for one!\n\nWatch today's GMMORE: https://youtu.be/DPCQlYYHxsk\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt19Zo-4AvqCzCg2K1-dRSg\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2973", "Fancy Comfort Food Taste Test", "acfe860a-0c00-4efd-bfc7-539028e024fd", 2274, false, "hdaB8NMXN88", "https://www.youtube.com/watch?v=hdaB8NMXN88", 8, "/downloads/Good Mythical Morning/Fancy Comfort Food Taste Test/Fancy Comfort Food Taste Test [hdaB8NMXN88].mp4", false, false, false, 6, [], 98, ~U[2026-02-04 11:01:13Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today we see if fancy food has a place in our favorite comfort foods. 🍒 Try the NEW limited-edition Shirley Temple OLIPOP! A brighter, bolder twist on the classic mocktail — made with real ingredients, low sugar, and a functional blend that supports digestive health. Get your free can at https://olipop.yt.link/YtGGDvp — buy any 2 cans in store and OLIPOP will pay you back for one!\n\nWatch today's GMMORE: https://youtu.be/DPCQlYYHxsk\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt19Zo-4AvqCzCg2K1-dRSg\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2973", "Fancy Comfort Food Taste Test", 2274, false, "hdaB8NMXN88", "https://www.youtube.com/watch?v=hdaB8NMXN88", "/downloads/Good Mythical Morning/Fancy Comfort Food Taste Test/Fancy Comfort Food Taste Test [hdaB8NMXN88].mp4", false, 6, ~U[2026-02-04 11:01:13Z]] 19:18:45.575 [debug] QUERY OK source="sources" db=1.2ms idle=17.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.586 [debug] QUERY OK source="media_items" db=10.6ms idle=16.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-03 11:01:33Z], 6] 19:18:45.588 [debug] QUERY OK source="media_items" db=1.3ms idle=25.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we compare Dollar Tree products to expensive ones and see which can withstand our rage better.\n\nWatch today's GMMORE: https://youtu.be/JVvyzoKjOIY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/QBuQQPF2qO0\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2972", "How Durable Are Dollar Store Products?", "067c7fdc-7286-4d87-a970-088c7ffb5b25", 1317, false, "qst5sTpZONc", "https://www.youtube.com/watch?v=qst5sTpZONc", 9, "/downloads/Good Mythical Morning/How Durable Are Dollar Store Products?/How Durable Are Dollar Store Products? [qst5sTpZONc].mp4", false, false, false, 6, [], 98, ~U[2026-02-03 11:01:33Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today, we compare Dollar Tree products to expensive ones and see which can withstand our rage better.\n\nWatch today's GMMORE: https://youtu.be/JVvyzoKjOIY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/QBuQQPF2qO0\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2972", "How Durable Are Dollar Store Products?", 1317, false, "qst5sTpZONc", "https://www.youtube.com/watch?v=qst5sTpZONc", "/downloads/Good Mythical Morning/How Durable Are Dollar Store Products?/How Durable Are Dollar Store Products? [qst5sTpZONc].mp4", false, 6, ~U[2026-02-03 11:01:33Z]] 19:18:45.589 [debug] QUERY OK source="sources" db=1.2ms idle=16.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.606 [debug] QUERY OK source="media_items" db=16.2ms idle=16.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-02 11:00:15Z], 6] 19:18:45.608 [debug] QUERY OK source="media_items" db=1.4ms idle=31.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we find out if these classic kid's foods are better spicy.\n\nWatch today's GMMORE: https://youtu.be/yM1v0rYl3rg\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2971", "Are Kid's Foods Better Spicy? (Taste Test)", "6b797a3f-b373-4acb-830e-3d0ae785b1f3", 1257, false, "3SO6r0dtth4", "https://www.youtube.com/watch?v=3SO6r0dtth4", 10, "/downloads/Good Mythical Morning/Are Kid's Foods Better Spicy? (Taste Test)/Are Kid's Foods Better Spicy? (Taste Test) [3SO6r0dtth4].mp4", false, false, false, 6, [], 98, ~U[2026-02-02 11:00:15Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today we find out if these classic kid's foods are better spicy.\n\nWatch today's GMMORE: https://youtu.be/yM1v0rYl3rg\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2971", "Are Kid's Foods Better Spicy? (Taste Test)", 1257, false, "3SO6r0dtth4", "https://www.youtube.com/watch?v=3SO6r0dtth4", "/downloads/Good Mythical Morning/Are Kid's Foods Better Spicy? (Taste Test)/Are Kid's Foods Better Spicy? (Taste Test) [3SO6r0dtth4].mp4", false, 6, ~U[2026-02-02 11:00:15Z]] 19:18:45.610 [debug] QUERY OK source="sources" db=1.8ms idle=22.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.624 [debug] QUERY OK source="media_items" db=13.6ms idle=22.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-30 11:00:40Z], 6] 19:18:45.631 [debug] QUERY OK source="media_items" db=6.7ms idle=18.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we decide if expensive ingredients make a tastier meal.\n\nWatch today's GMMORE: https://youtu.be/izV8wrXDEoo\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/sZgv5siACnA\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2970", "Cheap vs Expensive Grocery Stores (Taste Test)", "7a00b3b6-4256-4663-afba-67beb4cded00", 1160, false, "K2O11fiynxY", "https://www.youtube.com/watch?v=K2O11fiynxY", 11, "/downloads/Good Mythical Morning/Cheap vs Expensive Grocery Stores (Taste Test)/Cheap vs Expensive Grocery Stores (Taste Test) [K2O11fiynxY].mp4", false, false, false, 6, [], 98, ~U[2026-01-30 11:00:40Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today we decide if expensive ingredients make a tastier meal.\n\nWatch today's GMMORE: https://youtu.be/izV8wrXDEoo\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/sZgv5siACnA\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2970", "Cheap vs Expensive Grocery Stores (Taste Test)", 1160, false, "K2O11fiynxY", "https://www.youtube.com/watch?v=K2O11fiynxY", "/downloads/Good Mythical Morning/Cheap vs Expensive Grocery Stores (Taste Test)/Cheap vs Expensive Grocery Stores (Taste Test) [K2O11fiynxY].mp4", false, 6, ~U[2026-01-30 11:00:40Z]] 19:18:45.632 [debug] QUERY OK source="sources" db=0.2ms idle=23.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.643 [debug] QUERY OK source="media_items" db=10.7ms idle=21.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 11:01:31Z], 6] 19:18:45.645 [debug] QUERY OK source="media_items" db=2.2ms idle=19.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we reimagine iconic food acronyms.\n\nWatch today's GMMORE: https://youtu.be/m9wyccLpH9s\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtBUO6tGEOj3IpbtmFxBPRa\nhttps://youtu.be/NTOACqNOU3o\n\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2969", "Don't Eat The Nasty \"BLT\"", "30bbe354-baa0-49dd-8bc0-c5471a072274", 1273, false, "oqwWDcXSulA", "https://www.youtube.com/watch?v=oqwWDcXSulA", 12, "/downloads/Good Mythical Morning/Don't Eat The Nasty "BLT"/Don't Eat The Nasty "BLT" [oqwWDcXSulA].mp4", false, false, false, 6, [], 98, ~U[2026-01-29 11:01:31Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today we reimagine iconic food acronyms.\n\nWatch today's GMMORE: https://youtu.be/m9wyccLpH9s\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtBUO6tGEOj3IpbtmFxBPRa\nhttps://youtu.be/NTOACqNOU3o\n\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2969", "Don't Eat The Nasty \"BLT\"", 1273, false, "oqwWDcXSulA", "https://www.youtube.com/watch?v=oqwWDcXSulA", "/downloads/Good Mythical Morning/Don't Eat The Nasty "BLT"/Don't Eat The Nasty "BLT" [oqwWDcXSulA].mp4", false, 6, ~U[2026-01-29 11:01:31Z]] 19:18:45.646 [debug] QUERY OK source="sources" db=0.1ms idle=20.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.657 [debug] QUERY OK source="media_items" db=10.7ms idle=15.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-28 11:01:16Z], 6] 19:18:45.659 [debug] QUERY OK source="media_items" db=1.4ms idle=25.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we see if food tastes better if it looks like art!\n\nWatch today's GMMORE: https://youtu.be/jxwje6J_H6A\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2968", "Does Playing With Food Make It Better?", "1d3f69e8-396f-47b1-b07e-f85b7ae4c0a9", 1245, false, "fx67pb85gpU", "https://www.youtube.com/watch?v=fx67pb85gpU", 13, "/downloads/Good Mythical Morning/Does Playing With Food Make It Better?/Does Playing With Food Make It Better? [fx67pb85gpU].mp4", false, false, false, 6, [], 98, ~U[2026-01-28 11:01:16Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today, we see if food tastes better if it looks like art!\n\nWatch today's GMMORE: https://youtu.be/jxwje6J_H6A\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2968", "Does Playing With Food Make It Better?", 1245, false, "fx67pb85gpU", "https://www.youtube.com/watch?v=fx67pb85gpU", "/downloads/Good Mythical Morning/Does Playing With Food Make It Better?/Does Playing With Food Make It Better? [fx67pb85gpU].mp4", false, 6, ~U[2026-01-28 11:01:16Z]] 19:18:45.662 [debug] QUERY OK source="sources" db=1.3ms idle=17.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.673 [debug] QUERY OK source="media_items" db=10.6ms idle=16.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-27 11:01:43Z], 6] 19:18:45.675 [debug] QUERY OK source="media_items" db=1.3ms idle=27.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we attempt to pull off https://www.youtube.com/@dudeperfect style trick shots!\n\nWatch today's GMMORE: https://youtu.be/0c6qqh-9few\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com\n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtfUpSfPjC1Gma1G9Sv8gQq\nhttps://youtu.be/dX_mdg0zmHM\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2967", "Food Trick Shot Battle (ft. Dude Perfect)", "f2d38f1e-6969-42e0-a4a2-f51f421578dd", 1582, false, "wNSaKGpe7JY", "https://www.youtube.com/watch?v=wNSaKGpe7JY", 14, "/downloads/Good Mythical Morning/Food Trick Shot Battle (ft. Dude Perfect)/Food Trick Shot Battle (ft. Dude Perfect) [wNSaKGpe7JY].mp4", false, false, false, 6, [], 98, ~U[2026-01-27 11:01:43Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today we attempt to pull off https://www.youtube.com/@dudeperfect style trick shots!\n\nWatch today's GMMORE: https://youtu.be/0c6qqh-9few\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com\n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtfUpSfPjC1Gma1G9Sv8gQq\nhttps://youtu.be/dX_mdg0zmHM\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2967", "Food Trick Shot Battle (ft. Dude Perfect)", 1582, false, "wNSaKGpe7JY", "https://www.youtube.com/watch?v=wNSaKGpe7JY", "/downloads/Good Mythical Morning/Food Trick Shot Battle (ft. Dude Perfect)/Food Trick Shot Battle (ft. Dude Perfect) [wNSaKGpe7JY].mp4", false, 6, ~U[2026-01-27 11:01:43Z]] 19:18:45.676 [debug] QUERY OK source="sources" db=1.2ms idle=18.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.687 [debug] QUERY OK source="media_items" db=10.6ms idle=17.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-26 11:00:46Z], 6] 19:18:45.689 [debug] QUERY OK source="media_items" db=1.3ms idle=25.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we rank different pizzas, blindfolded!\n\nWatch today's GMMORE: https://youtu.be/9Wl4PR6xgeQ\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/oumKoEgvAUc\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2966", "Blind Pizza Taste Test", "72876677-8d0c-4d55-96d3-f28387e3846c", 912, false, "RgM-E3jwPhM", "https://www.youtube.com/watch?v=RgM-E3jwPhM", 15, "/downloads/Good Mythical Morning/Blind Pizza Taste Test/Blind Pizza Taste Test [RgM-E3jwPhM].mp4", false, false, false, 6, [], 98, ~U[2026-01-26 11:00:46Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today we rank different pizzas, blindfolded!\n\nWatch today's GMMORE: https://youtu.be/9Wl4PR6xgeQ\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/oumKoEgvAUc\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2966", "Blind Pizza Taste Test", 912, false, "RgM-E3jwPhM", "https://www.youtube.com/watch?v=RgM-E3jwPhM", "/downloads/Good Mythical Morning/Blind Pizza Taste Test/Blind Pizza Taste Test [RgM-E3jwPhM].mp4", false, 6, ~U[2026-01-26 11:00:46Z]] 19:18:45.691 [debug] QUERY OK source="sources" db=1.2ms idle=16.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.701 [debug] QUERY OK source="media_items" db=10.5ms idle=16.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-23 11:00:31Z], 6] 19:18:45.703 [debug] QUERY OK source="media_items" db=1.3ms idle=25.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we answer the question is the best part of food the middle?\n\nWatch today's GMMORE: https://youtu.be/B8Sn6Uoy17w\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvVm6IJHIOEuX6WU1fcFFLF\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2965", "Is The Middle The Best Bite? (Taste Test)", "aa2598c9-8a60-4997-a836-9ae2f191b1e0", 1487, false, "CYx9xhoSFgE", "https://www.youtube.com/watch?v=CYx9xhoSFgE", 16, "/downloads/Good Mythical Morning/Is The Middle The Best Bite? (Taste Test)/Is The Middle The Best Bite? (Taste Test) [CYx9xhoSFgE].mp4", false, false, false, 6, [], 98, ~U[2026-01-23 11:00:31Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today, we answer the question is the best part of food the middle?\n\nWatch today's GMMORE: https://youtu.be/B8Sn6Uoy17w\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvVm6IJHIOEuX6WU1fcFFLF\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2965", "Is The Middle The Best Bite? (Taste Test)", 1487, false, "CYx9xhoSFgE", "https://www.youtube.com/watch?v=CYx9xhoSFgE", "/downloads/Good Mythical Morning/Is The Middle The Best Bite? (Taste Test)/Is The Middle The Best Bite? (Taste Test) [CYx9xhoSFgE].mp4", false, 6, ~U[2026-01-23 11:00:31Z]] 19:18:45.705 [debug] QUERY OK source="sources" db=1.2ms idle=16.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.716 [debug] QUERY OK source="media_items" db=10.6ms idle=16.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 11:00:20Z], 6] 19:18:45.718 [debug] QUERY OK source="media_items" db=1.3ms idle=25.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we find out if we can find Rhett a new best friend.\n\nWatch today's GMMORE: https://youtu.be/GNrrL2eEKUY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/3YA7wi5ZGSQ\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2964", "Should We Replace Link?", "1f6fd52d-7a91-43e5-b44a-d5869d67841a", 1386, false, "DQXrnVK2C9A", "https://www.youtube.com/watch?v=DQXrnVK2C9A", 17, "/downloads/Good Mythical Morning/Should We Replace Link?/Should We Replace Link? [DQXrnVK2C9A].mp4", false, false, false, 6, [], 97, ~U[2026-01-22 11:00:20Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today we find out if we can find Rhett a new best friend.\n\nWatch today's GMMORE: https://youtu.be/GNrrL2eEKUY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/3YA7wi5ZGSQ\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2964", "Should We Replace Link?", 1386, false, "DQXrnVK2C9A", "https://www.youtube.com/watch?v=DQXrnVK2C9A", "/downloads/Good Mythical Morning/Should We Replace Link?/Should We Replace Link? [DQXrnVK2C9A].mp4", false, 6, ~U[2026-01-22 11:00:20Z]] 19:18:45.719 [debug] QUERY OK source="sources" db=1.1ms idle=16.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.730 [debug] QUERY OK source="media_items" db=10.4ms idle=16.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-21 11:01:33Z], 6] 19:18:45.732 [debug] QUERY OK source="media_items" db=1.3ms idle=25.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we determine which is the best way to cook your food, microwave vs. oven.\n\nWatch today's GMMORE: https://youtu.be/zwIQ4ZUWKeA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR \n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2963", "Microwave vs. Oven Taste Test", "fea82a30-7653-4dfe-a65c-33dfdd878778", 1358, false, "mYgtvcdT6vM", "https://www.youtube.com/watch?v=mYgtvcdT6vM", 18, "/downloads/Good Mythical Morning/Microwave vs. Oven Taste Test/Microwave vs. Oven Taste Test [mYgtvcdT6vM].mp4", false, false, false, 6, [], 98, ~U[2026-01-21 11:01:33Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today, we determine which is the best way to cook your food, microwave vs. oven.\n\nWatch today's GMMORE: https://youtu.be/zwIQ4ZUWKeA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR \n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2963", "Microwave vs. Oven Taste Test", 1358, false, "mYgtvcdT6vM", "https://www.youtube.com/watch?v=mYgtvcdT6vM", "/downloads/Good Mythical Morning/Microwave vs. Oven Taste Test/Microwave vs. Oven Taste Test [mYgtvcdT6vM].mp4", false, 6, ~U[2026-01-21 11:01:33Z]] 19:18:45.733 [debug] QUERY OK source="sources" db=1.2ms idle=16.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:45.744 [debug] QUERY OK source="media_items" db=10.3ms idle=15.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-20 11:00:26Z], 6] 19:18:45.814 [debug] QUERY OK source="media_items" db=69.0ms idle=24.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we test our spelling skills… or we smell. Thank you to Clorox for sponsoring this video and helping us Unleash the Bleach! #CloroxPartner @clorox This messy set did not stand a chance against Clorox Disinfecting Bleach, whether we’re cleaning up wine stains, trash, or any other mess. Learn how to clean with bleach and see why clean feels good. Shop now! https://www.walmart.com/ip/Clorox-Disinfecting-Liquid-Bleach-Cleaner-Regular-Scent-81-fl-oz/586467973. \n\nWatch today's GMMORE: https://youtu.be/n90OiFEGTl0\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5bEbi4QbgakyfDQZcDhup\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2962", "Extreme Smelling Bee Challenge", "985b4dfe-d88c-4aee-9ac8-4a33d7b8a294", 1682, false, "JSGUFHMkNgY", "https://www.youtube.com/watch?v=JSGUFHMkNgY", 19, "/downloads/Good Mythical Morning/Extreme Smelling Bee Challenge/Extreme Smelling Bee Challenge [JSGUFHMkNgY].mp4", false, false, false, 6, [], 98, ~U[2026-01-20 11:00:26Z], ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], "Today, we test our spelling skills… or we smell. Thank you to Clorox for sponsoring this video and helping us Unleash the Bleach! #CloroxPartner @clorox This messy set did not stand a chance against Clorox Disinfecting Bleach, whether we’re cleaning up wine stains, trash, or any other mess. Learn how to clean with bleach and see why clean feels good. Shop now! https://www.walmart.com/ip/Clorox-Disinfecting-Liquid-Bleach-Cleaner-Regular-Scent-81-fl-oz/586467973. \n\nWatch today's GMMORE: https://youtu.be/n90OiFEGTl0\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5bEbi4QbgakyfDQZcDhup\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2962", "Extreme Smelling Bee Challenge", 1682, false, "JSGUFHMkNgY", "https://www.youtube.com/watch?v=JSGUFHMkNgY", "/downloads/Good Mythical Morning/Extreme Smelling Bee Challenge/Extreme Smelling Bee Challenge [JSGUFHMkNgY].mp4", false, 6, ~U[2026-01-20 11:00:26Z]] 19:18:45.832 [debug] QUERY OK source="sources" db=17.0ms queue=0.1ms idle=84.7ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z], 6] 19:18:45.864 [debug] QUERY OK source="media_items" db=31.2ms queue=0.1ms idle=100.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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 19:18:45.879 [debug] QUERY OK source="media_items" db=14.8ms idle=131.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")))) [6] 19:18:45.882 [debug] QUERY OK source="media_items" db=1.8ms idle=135.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 19:18:45.884 [debug] QUERY OK source="tasks" db=1.2ms idle=19.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [400, 6, ~U[2026-02-15 19:18:45Z], ~U[2026-02-15 19:18:45Z]] 19:18:45.885 [info] {"args":{"id":6},"id":389,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":52397332,"event":"job:stop","queue_time":689931,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 19:18:58.611 [info] {"source":"oban","duration":1333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:00.988 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:19:28.613 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:58.614 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:00.990 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:20:28.616 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:58.618 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:00.991 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:21:28.620 [info] {"source":"oban","duration":1347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:58.622 [info] {"source":"oban","duration":1503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:00.993 [info] {"source":"oban","duration":241,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:22:28.625 [info] {"source":"oban","duration":2000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:58.627 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:00.994 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:23:28.629 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:58.632 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:00.995 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:24:28.634 [info] {"source":"oban","duration":1372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:58.637 [info] {"source":"oban","duration":1868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:00.996 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:25:28.639 [info] {"source":"oban","duration":1475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:58.641 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:00.997 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:26:28.643 [info] {"source":"oban","duration":1322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:58.645 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:00.998 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:27:28.648 [info] {"source":"oban","duration":1494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:58.651 [info] {"source":"oban","duration":1252,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:01.001 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:28:28.653 [info] {"source":"oban","duration":1787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:58.656 [info] {"source":"oban","duration":1676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:00.002 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:29:28.658 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:58.660 [info] {"source":"oban","duration":1773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:00.003 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:30:28.664 [info] {"source":"oban","duration":1888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:58.666 [info] {"source":"oban","duration":1788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:00.004 [info] {"source":"oban","duration":258,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:31:28.669 [info] {"source":"oban","duration":1336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:58.670 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:00.005 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:32:28.671 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:58.673 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:00.006 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:33:28.675 [info] {"source":"oban","duration":1327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:58.677 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:00.011 [info] {"source":"oban","duration":3464,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:34:28.679 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:58.683 [info] {"source":"oban","duration":3429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:00.012 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:35:28.686 [info] {"source":"oban","duration":2265,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:58.687 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:00.013 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:36:28.689 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:58.691 [info] {"source":"oban","duration":1266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:00.014 [info] {"source":"oban","duration":168,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:37:28.693 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:58.695 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:00.015 [info] {"source":"oban","duration":139,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:38:28.698 [info] {"source":"oban","duration":1964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:58.700 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:00.016 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:39:28.702 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:58.705 [info] {"source":"oban","duration":1867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:00.017 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:40:28.707 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:58.709 [info] {"source":"oban","duration":1321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:00.018 [info] {"source":"oban","duration":336,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:41:28.711 [info] {"source":"oban","duration":1354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:58.714 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:00.020 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:42:28.717 [info] {"source":"oban","duration":1467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:58.719 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:00.021 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:43:28.721 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:58.724 [info] {"source":"oban","duration":1497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:00.023 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:44:28.727 [info] {"source":"oban","duration":1249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:58.729 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:00.024 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:45:28.732 [info] {"source":"oban","duration":1444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:58.735 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:00.025 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:46:28.737 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:58.740 [info] {"source":"oban","duration":2426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:00.026 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:47:28.742 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:58.744 [info] {"source":"oban","duration":1155,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:00.027 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:48:28.746 [info] {"source":"oban","duration":1295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:58.748 [info] {"source":"oban","duration":870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:00.028 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:49:28.750 [info] {"source":"oban","duration":1390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:58.752 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:00.029 [info] {"source":"oban","duration":146,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:50:28.755 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:58.757 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:00.030 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:51:28.759 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:58.761 [info] {"source":"oban","duration":1750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:00.031 [info] {"source":"oban","duration":164,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:52:28.765 [info] {"source":"oban","duration":1913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:58.767 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:00.032 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:53:28.769 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:58.771 [info] {"source":"oban","duration":1439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:00.033 [info] {"source":"oban","duration":305,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:54:28.773 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:58.774 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:00.034 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:55:28.777 [info] {"source":"oban","duration":1950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:58.779 [info] {"source":"oban","duration":1361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:00.035 [info] {"source":"oban","duration":325,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:56:28.781 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:58.783 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:00.036 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:57:28.785 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:58.787 [info] {"source":"oban","duration":965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:00.037 [info] {"source":"oban","duration":158,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:58:28.789 [info] {"source":"oban","duration":1454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:58.792 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:00.038 [info] {"source":"oban","duration":337,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:59:28.795 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:58.797 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:00.039 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:00:28.799 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:58.801 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:00.040 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:01:28.803 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:58.805 [info] {"source":"oban","duration":1503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:00.041 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:02:28.807 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:58.809 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:00.042 [info] {"source":"oban","duration":137,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:03:28.812 [info] {"source":"oban","duration":1326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:58.814 [info] {"source":"oban","duration":1126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:00.043 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:04:28.816 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:58.819 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:00.044 [info] {"source":"oban","duration":154,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:05:28.821 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:58.824 [info] {"source":"oban","duration":1343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:00.045 [info] {"source":"oban","duration":270,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:06:28.826 [info] {"source":"oban","duration":1377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:58.829 [info] {"source":"oban","duration":1705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:00.046 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:07:28.832 [info] {"source":"oban","duration":2100,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:58.834 [info] {"source":"oban","duration":1350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:00.047 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:08:28.837 [info] {"source":"oban","duration":1831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:58.840 [info] {"source":"oban","duration":1905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:00.048 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:09:28.842 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:58.845 [info] {"source":"oban","duration":1441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:00.049 [info] {"source":"oban","duration":316,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:10:28.847 [info] {"source":"oban","duration":1316,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:58.850 [info] {"source":"oban","duration":1868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:00.050 [info] {"source":"oban","duration":284,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:11:28.852 [info] {"source":"oban","duration":1337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:58.854 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:00.051 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:12:28.857 [info] {"source":"oban","duration":1890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:58.859 [info] {"source":"oban","duration":1290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:00.052 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:13:28.862 [info] {"source":"oban","duration":1933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:58.864 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:00.053 [info] {"source":"oban","duration":139,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:14:28.867 [info] {"source":"oban","duration":2523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:58.869 [info] {"source":"oban","duration":1361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:00.054 [info] {"source":"oban","duration":158,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:15:28.871 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:58.873 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:00.055 [info] {"source":"oban","duration":262,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:16:28.874 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:58.875 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:00.056 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:17:28.877 [info] {"source":"oban","duration":1744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:58.880 [info] {"source":"oban","duration":1442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:00.057 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:18:28.882 [info] {"source":"oban","duration":1467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:58.884 [info] {"source":"oban","duration":1408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:00.058 [info] {"source":"oban","duration":269,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:19:28.886 [info] {"source":"oban","duration":1631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:58.888 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:00.059 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:20:28.891 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:58.894 [info] {"source":"oban","duration":2282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:00.061 [info] {"source":"oban","duration":159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:21:28.895 [info] {"source":"oban","duration":960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:58.898 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:00.062 [info] {"source":"oban","duration":276,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:22:28.900 [info] {"source":"oban","duration":1346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:58.902 [info] {"source":"oban","duration":1826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:00.063 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:23:28.905 [info] {"source":"oban","duration":1483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:58.908 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:00.064 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:24:28.910 [info] {"source":"oban","duration":1516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:58.912 [info] {"source":"oban","duration":1366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:00.065 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:25:28.913 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:58.915 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:00.066 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:26:28.917 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:58.920 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:00.067 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:27:28.923 [info] {"source":"oban","duration":1887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:58.925 [info] {"source":"oban","duration":1372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:00.068 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:28:28.928 [info] {"source":"oban","duration":1852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:58.931 [info] {"source":"oban","duration":1900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:00.069 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:29:28.933 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:58.935 [info] {"source":"oban","duration":1419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:00.070 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:30:28.937 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:58.939 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:00.071 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:31:28.941 [info] {"source":"oban","duration":1666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:58.943 [info] {"source":"oban","duration":1299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:00.072 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:32:28.945 [info] {"source":"oban","duration":1368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:58.947 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:00.073 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:33:28.949 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:58.951 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:00.074 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:34:28.954 [info] {"source":"oban","duration":1375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:58.957 [info] {"source":"oban","duration":1946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:00.075 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:35:28.960 [info] {"source":"oban","duration":1851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:58.962 [info] {"source":"oban","duration":1373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:00.077 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:36:28.964 [info] {"source":"oban","duration":1454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:58.967 [info] {"source":"oban","duration":2592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:00.078 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:37:28.968 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:58.970 [info] {"source":"oban","duration":1366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:00.079 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:38:28.972 [info] {"source":"oban","duration":1357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:58.974 [info] {"source":"oban","duration":1336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:00.080 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:39:28.976 [info] {"source":"oban","duration":1840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:58.979 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:00.082 [info] {"source":"oban","duration":310,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:40:28.980 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:58.982 [info] {"source":"oban","duration":1347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:00.083 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:41:28.984 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:58.987 [info] {"source":"oban","duration":1928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:00.085 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:42:28.989 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:58.991 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:00.086 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:43:28.994 [info] {"source":"oban","duration":1369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:58.996 [info] {"source":"oban","duration":1280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:00.087 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:44:28.998 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:59.000 [info] {"source":"oban","duration":990,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:00.088 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:45:29.002 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:59.005 [info] {"source":"oban","duration":2611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:00.090 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:46:29.007 [info] {"source":"oban","duration":1321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:59.010 [info] {"source":"oban","duration":1912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:00.091 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:47:29.011 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:59.014 [info] {"source":"oban","duration":2496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:00.092 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:48:29.017 [info] {"source":"oban","duration":2506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:59.019 [info] {"source":"oban","duration":1361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:00.093 [info] {"source":"oban","duration":164,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:49:29.021 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:59.022 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:00.094 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:50:29.024 [info] {"source":"oban","duration":1193,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:59.026 [info] {"source":"oban","duration":1266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:00.095 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:51:29.028 [info] {"source":"oban","duration":1316,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:59.030 [info] {"source":"oban","duration":1678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:00.096 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:52:29.032 [info] {"source":"oban","duration":1123,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:59.033 [info] {"source":"oban","duration":882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:00.098 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:53:29.035 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:59.036 [info] {"source":"oban","duration":857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:00.099 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:54:29.038 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:59.041 [info] {"source":"oban","duration":2459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:00.100 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:55:29.043 [info] {"source":"oban","duration":1221,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:59.044 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:00.102 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:56:29.046 [info] {"source":"oban","duration":1334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:59.047 [info] {"source":"oban","duration":887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:00.104 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:57:29.049 [info] {"source":"oban","duration":887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:59.051 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:00.107 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:58:29.053 [info] {"source":"oban","duration":1031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:59.055 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:00.108 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:59:29.057 [info] {"source":"oban","duration":945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:59.058 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:00.110 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:00:29.060 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:59.062 [info] {"source":"oban","duration":944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:00.111 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:01:29.064 [info] {"source":"oban","duration":1155,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:59.066 [info] {"source":"oban","duration":1838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:00.113 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:02:29.068 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:59.071 [info] {"source":"oban","duration":1423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:00.114 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:03:29.072 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:59.074 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:00.115 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:04:29.076 [info] {"source":"oban","duration":1488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:59.078 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:00.117 [info] {"source":"oban","duration":136,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:05:29.079 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:59.081 [info] {"source":"oban","duration":1159,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:00.118 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:06:29.083 [info] {"source":"oban","duration":1266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:59.084 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:00.120 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:07:29.086 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:59.087 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:00.122 [info] {"source":"oban","duration":259,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:08:29.090 [info] {"source":"oban","duration":1390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:59.092 [info] {"source":"oban","duration":1435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:00.123 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:09:29.094 [info] {"source":"oban","duration":1255,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:59.096 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:00.124 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:10:29.098 [info] {"source":"oban","duration":1253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:59.100 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:00.126 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:11:29.102 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:59.104 [info] {"source":"oban","duration":1367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:00.127 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:12:29.106 [info] {"source":"oban","duration":1364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:59.108 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:00.129 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:13:29.111 [info] {"source":"oban","duration":1620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:59.114 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:00.130 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:14:29.116 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:59.119 [info] {"source":"oban","duration":1471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:00.131 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:15:29.122 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:59.125 [info] {"source":"oban","duration":2403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:00.133 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:16:29.128 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:59.131 [info] {"source":"oban","duration":1453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:00.134 [info] {"source":"oban","duration":150,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:17:29.133 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:59.135 [info] {"source":"oban","duration":1360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:00.135 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:18:29.137 [info] {"source":"oban","duration":1356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:59.139 [info] {"source":"oban","duration":1491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:00.136 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:19:29.141 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:59.145 [info] {"source":"oban","duration":3753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:00.138 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:20:29.148 [info] {"source":"oban","duration":1459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:59.150 [info] {"source":"oban","duration":925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:00.139 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:21:29.153 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:59.155 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:00.140 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:22:29.157 [info] {"source":"oban","duration":1595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:59.160 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:00.141 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:23:29.162 [info] {"source":"oban","duration":1316,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:59.164 [info] {"source":"oban","duration":1081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:00.142 [info] {"source":"oban","duration":334,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:24:29.166 [info] {"source":"oban","duration":1481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:59.168 [info] {"source":"oban","duration":1375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:00.143 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:25:29.170 [info] {"source":"oban","duration":1349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:59.172 [info] {"source":"oban","duration":1421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:00.144 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:26:29.174 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:59.176 [info] {"source":"oban","duration":1424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:00.146 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:27:29.178 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:59.179 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:00.147 [info] {"source":"oban","duration":324,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:28:29.181 [info] {"source":"oban","duration":1419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:59.183 [info] {"source":"oban","duration":1367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:00.148 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:29:29.186 [info] {"source":"oban","duration":1859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:59.188 [info] {"source":"oban","duration":1435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:00.150 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:30:29.190 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:59.192 [info] {"source":"oban","duration":1733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:00.151 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:31:29.195 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:59.197 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:00.153 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:32:29.200 [info] {"source":"oban","duration":1479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:59.203 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:00.154 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:33:29.206 [info] {"source":"oban","duration":2630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:59.209 [info] {"source":"oban","duration":1408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:00.155 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:34:29.211 [info] {"source":"oban","duration":1344,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:59.214 [info] {"source":"oban","duration":2340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:00.156 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:35:29.216 [info] {"source":"oban","duration":1440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:59.219 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:00.157 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:36:29.221 [info] {"source":"oban","duration":1439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:59.224 [info] {"source":"oban","duration":1840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:00.158 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:37:29.227 [info] {"source":"oban","duration":1920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:59.229 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:00.159 [info] {"source":"oban","duration":272,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:38:29.231 [info] {"source":"oban","duration":947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:59.233 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:00.160 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:39:29.235 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:59.237 [info] {"source":"oban","duration":1372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:00.162 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:40:29.239 [info] {"source":"oban","duration":1855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:59.242 [info] {"source":"oban","duration":1375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:00.163 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:41:29.244 [info] {"source":"oban","duration":1374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:59.246 [info] {"source":"oban","duration":1403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:00.165 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:42:29.249 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:59.251 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:00.166 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:43:29.254 [info] {"source":"oban","duration":1913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:59.257 [info] {"source":"oban","duration":1863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:00.167 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:44:29.259 [info] {"source":"oban","duration":1195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:59.261 [info] {"source":"oban","duration":1215,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:00.168 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:45:29.262 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:59.265 [info] {"source":"oban","duration":1955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:00.170 [info] {"source":"oban","duration":146,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:46:29.267 [info] {"source":"oban","duration":1872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:59.270 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:00.171 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:47:29.272 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:59.274 [info] {"source":"oban","duration":1377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:00.172 [info] {"source":"oban","duration":305,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:48:29.277 [info] {"source":"oban","duration":1893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:59.279 [info] {"source":"oban","duration":1479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:00.173 [info] {"source":"oban","duration":161,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:49:29.281 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:59.283 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:00.174 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:50:29.286 [info] {"source":"oban","duration":2003,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:59.288 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:00.175 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:51:29.290 [info] {"source":"oban","duration":1191,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:59.292 [info] {"source":"oban","duration":1424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:00.176 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:52:29.295 [info] {"source":"oban","duration":1437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:59.297 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:00.177 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:53:29.299 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:59.301 [info] {"source":"oban","duration":1467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:00.180 [info] {"source":"oban","duration":1133,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:54:29.304 [info] {"source":"oban","duration":1420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:59.307 [info] {"source":"oban","duration":1474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:00.181 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:55:29.310 [info] {"source":"oban","duration":1867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:59.312 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:00.182 [info] {"source":"oban","duration":279,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:56:29.315 [info] {"source":"oban","duration":1435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:59.318 [info] {"source":"oban","duration":1477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:00.183 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:57:29.321 [info] {"source":"oban","duration":1902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:59.324 [info] {"source":"oban","duration":1854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:00.184 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:58:29.326 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:59.328 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:00.185 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:59:29.330 [info] {"source":"oban","duration":1363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:59.333 [info] {"source":"oban","duration":2591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:00.186 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:00:29.335 [info] {"source":"oban","duration":1378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:59.337 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:00.187 [info] {"source":"oban","duration":245,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:01:29.340 [info] {"source":"oban","duration":2117,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:59.342 [info] {"source":"oban","duration":1776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:00.188 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:02:29.345 [info] {"source":"oban","duration":1442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:59.347 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:00.190 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:03:29.349 [info] {"source":"oban","duration":1437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:59.351 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:00.191 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:04:29.353 [info] {"source":"oban","duration":1439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:59.355 [info] {"source":"oban","duration":1479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:00.192 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:05:29.356 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:59.358 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:00.194 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:06:29.361 [info] {"source":"oban","duration":2832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:59.364 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:00.196 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:07:29.366 [info] {"source":"oban","duration":1403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:59.369 [info] {"source":"oban","duration":1929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:00.197 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:08:29.371 [info] {"source":"oban","duration":1357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:59.374 [info] {"source":"oban","duration":2027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:00.199 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:09:29.375 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:59.377 [info] {"source":"oban","duration":1635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:00.201 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:10:29.379 [info] {"source":"oban","duration":1672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:59.381 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:00.202 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:11:29.382 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:59.385 [info] {"source":"oban","duration":1915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:00.203 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:12:29.386 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:59.388 [info] {"source":"oban","duration":1420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:00.204 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:13:29.389 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:59.390 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:00.205 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:14:29.391 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:59.393 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:00.206 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:15:29.396 [info] {"source":"oban","duration":2307,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:59.397 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:00.207 [info] {"source":"oban","duration":304,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:16:29.400 [info] {"source":"oban","duration":1643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:59.401 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:00.208 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:17:29.402 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:59.403 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:00.209 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:18:29.404 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:59.407 [info] {"source":"oban","duration":1917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:00.210 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:19:29.408 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:59.410 [info] {"source":"oban","duration":955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:00.211 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:20:29.411 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:59.413 [info] {"source":"oban","duration":947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:00.212 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:21:29.414 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:59.415 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:00.213 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:22:29.416 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:59.417 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:00.214 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:23:29.418 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:59.419 [info] {"source":"oban","duration":895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:00.215 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:24:29.421 [info] {"source":"oban","duration":913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:59.423 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:00.217 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:25:29.424 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:59.426 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:00.218 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:26:29.427 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:59.428 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:00.219 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:27:29.429 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:59.431 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:00.220 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:28:29.432 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:59.433 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:00.221 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:29:29.434 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:59.435 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:00.222 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:30:29.436 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:59.437 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:00.224 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:31:29.438 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:59.439 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:00.225 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:32:29.441 [info] {"source":"oban","duration":1073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:59.442 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:00.226 [info] {"source":"oban","duration":306,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:33:29.443 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:59.444 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:00.227 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:34:29.445 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:59.446 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:00.229 [info] {"source":"oban","duration":256,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:35:29.448 [info] {"source":"oban","duration":1158,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:59.449 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:00.230 [info] {"source":"oban","duration":257,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:36:29.451 [info] {"source":"oban","duration":1286,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:59.452 [info] {"source":"oban","duration":872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:00.231 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:37:29.455 [info] {"source":"oban","duration":1347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:59.457 [info] {"source":"oban","duration":1267,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:00.233 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:38:29.459 [info] {"source":"oban","duration":1175,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:59.461 [info] {"source":"oban","duration":839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:00.234 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:39:29.463 [info] {"source":"oban","duration":1327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:59.465 [info] {"source":"oban","duration":1129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:00.235 [info] {"source":"oban","duration":296,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:40:29.467 [info] {"source":"oban","duration":1277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:59.470 [info] {"source":"oban","duration":1831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:00.236 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:41:29.472 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:59.474 [info] {"source":"oban","duration":1361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:00.237 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:42:29.477 [info] {"source":"oban","duration":1882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:59.479 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:00.238 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:43:29.481 [info] {"source":"oban","duration":1135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:59.483 [info] {"source":"oban","duration":1030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:00.240 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:44:29.485 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:59.487 [info] {"source":"oban","duration":1281,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:00.241 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:45:29.492 [info] {"source":"oban","duration":4007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:59.493 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:00.242 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:46:29.495 [info] {"source":"oban","duration":1355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:59.496 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:00.243 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:47:29.498 [info] {"source":"oban","duration":1253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:59.499 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:00.245 [info] {"source":"oban","duration":337,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:48:29.500 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:59.502 [info] {"source":"oban","duration":1193,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:00.246 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:49:29.504 [info] {"source":"oban","duration":867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:59.505 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:00.247 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:50:29.507 [info] {"source":"oban","duration":1225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:59.508 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:00.248 [info] {"source":"oban","duration":268,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:51:29.511 [info] {"source":"oban","duration":1144,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:59.513 [info] {"source":"oban","duration":1861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:00.249 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:52:29.516 [info] {"source":"oban","duration":1225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:59.517 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:00.251 [info] {"source":"oban","duration":225,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:53:29.518 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:59.521 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:00.252 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:54:29.523 [info] {"source":"oban","duration":1292,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:59.525 [info] {"source":"oban","duration":1143,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:00.253 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:55:29.527 [info] {"source":"oban","duration":1227,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:59.529 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:00.255 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:56:29.532 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:59.535 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:00.256 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:57:29.538 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:59.540 [info] {"source":"oban","duration":1434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:00.257 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:58:29.542 [info] {"source":"oban","duration":1260,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:59.544 [info] {"source":"oban","duration":1381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:00.258 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:59:29.546 [info] {"source":"oban","duration":1907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:59.549 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:00.259 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:00:29.551 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:59.553 [info] {"source":"oban","duration":1434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:00.261 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:01:29.555 [info] {"source":"oban","duration":893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:59.557 [info] {"source":"oban","duration":1101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:00.262 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:02:29.558 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:59.560 [info] {"source":"oban","duration":1387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:00.263 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:03:29.562 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:59.565 [info] {"source":"oban","duration":1818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:00.265 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:04:29.567 [info] {"source":"oban","duration":1335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:59.570 [info] {"source":"oban","duration":2283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:00.266 [info] {"source":"oban","duration":306,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:05:29.572 [info] {"source":"oban","duration":1528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:59.576 [info] {"source":"oban","duration":1883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:00.267 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:06:29.578 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:59.580 [info] {"source":"oban","duration":1813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:00.268 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:07:29.583 [info] {"source":"oban","duration":1490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:59.584 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:00.269 [info] {"source":"oban","duration":343,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:08:29.587 [info] {"source":"oban","duration":1445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:59.589 [info] {"source":"oban","duration":1171,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:00.270 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:09:29.591 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:59.592 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:00.272 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:10:29.594 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:59.596 [info] {"source":"oban","duration":1450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:00.273 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:11:29.599 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:59.601 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:00.274 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:12:29.604 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:59.607 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:00.275 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:13:29.609 [info] {"source":"oban","duration":1434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:59.611 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:00.276 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:14:29.613 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:59.615 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:00.277 [info] {"source":"oban","duration":323,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:15:29.617 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:59.619 [info] {"source":"oban","duration":1239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:00.278 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:16:29.621 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:59.625 [info] {"source":"oban","duration":1910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:00.279 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:17:29.628 [info] {"source":"oban","duration":1886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:59.630 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:00.280 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:18:29.631 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:59.635 [info] {"source":"oban","duration":1849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:00.281 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:19:29.639 [info] {"source":"oban","duration":3056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:59.642 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:00.282 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:20:29.644 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:59.646 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:00.283 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:21:29.648 [info] {"source":"oban","duration":1269,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:59.650 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:00.284 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:22:29.652 [info] {"source":"oban","duration":1336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:59.655 [info] {"source":"oban","duration":1930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:00.286 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:23:29.657 [info] {"source":"oban","duration":1494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:59.659 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:00.287 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:24:29.661 [info] {"source":"oban","duration":1797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:59.663 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:00.288 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:25:29.665 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:59.667 [info] {"source":"oban","duration":1338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:00.289 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:26:29.668 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:59.670 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:00.290 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:27:29.672 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:59.674 [info] {"source":"oban","duration":1435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:00.292 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:28:29.676 [info] {"source":"oban","duration":1214,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:59.677 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:00.293 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:29:29.680 [info] {"source":"oban","duration":1647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:59.682 [info] {"source":"oban","duration":1305,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:00.294 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:30:29.685 [info] {"source":"oban","duration":2293,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:59.687 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:00.295 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:31:29.689 [info] {"source":"oban","duration":1420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:59.691 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:00.296 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:32:29.692 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:59.694 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:00.298 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:33:29.696 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:59.698 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:00.300 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:34:29.700 [info] {"source":"oban","duration":1420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:59.701 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:00.302 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:35:29.703 [info] {"source":"oban","duration":1308,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:59.704 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:00.303 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:36:29.706 [info] {"source":"oban","duration":1353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:59.709 [info] {"source":"oban","duration":1854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:00.304 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:37:29.711 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:59.715 [info] {"source":"oban","duration":2275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:00.306 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:38:29.717 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:59.719 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:00.308 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:39:29.722 [info] {"source":"oban","duration":1879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:59.724 [info] {"source":"oban","duration":1445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:00.309 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:40:29.727 [info] {"source":"oban","duration":1326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:59.729 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:00.310 [info] {"source":"oban","duration":160,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:41:29.731 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:59.733 [info] {"source":"oban","duration":1454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:00.312 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:42:29.735 [info] {"source":"oban","duration":1358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:59.737 [info] {"source":"oban","duration":1834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:00.313 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:43:29.740 [info] {"source":"oban","duration":1312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:59.742 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:00.314 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:44:29.745 [info] {"source":"oban","duration":2049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:59.747 [info] {"source":"oban","duration":1246,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:00.315 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:45:29.749 [info] {"source":"oban","duration":1316,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:59.751 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:00.316 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:46:29.753 [info] {"source":"oban","duration":973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:59.755 [info] {"source":"oban","duration":1843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:00.317 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:47:29.758 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:59.760 [info] {"source":"oban","duration":1423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:00.318 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:48:29.764 [info] {"source":"oban","duration":1885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:59.765 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:00.319 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:49:29.767 [info] {"source":"oban","duration":1381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:59.770 [info] {"source":"oban","duration":1900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:00.321 [info] {"source":"oban","duration":275,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:50:29.772 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:59.774 [info] {"source":"oban","duration":1345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:00.322 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:51:29.776 [info] {"source":"oban","duration":1442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:59.779 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:00.324 [info] {"source":"oban","duration":144,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:52:29.782 [info] {"source":"oban","duration":2723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:59.785 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:00.325 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:53:29.787 [info] {"source":"oban","duration":1851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:59.790 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:00.326 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:54:29.792 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:59.794 [info] {"source":"oban","duration":1307,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:00.327 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:55:29.796 [info] {"source":"oban","duration":1477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:59.800 [info] {"source":"oban","duration":1880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:00.328 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:56:29.802 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:59.805 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:00.330 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:57:29.808 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:59.811 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:00.331 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:58:29.813 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:59.816 [info] {"source":"oban","duration":1300,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:00.332 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:59:29.818 [info] {"source":"oban","duration":1368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:59.821 [info] {"source":"oban","duration":1848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:00.333 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:00:29.823 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:59.827 [info] {"source":"oban","duration":3082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:00.334 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:01:29.830 [info] {"source":"oban","duration":1857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:59.832 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:00.335 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:02:29.835 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:59.838 [info] {"source":"oban","duration":1364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:00.337 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:03:29.841 [info] {"source":"oban","duration":1939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:59.843 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:00.338 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:04:29.845 [info] {"source":"oban","duration":1459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:59.846 [info] {"source":"oban","duration":442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:00.339 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:05:29.848 [info] {"source":"oban","duration":1355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:59.850 [info] {"source":"oban","duration":1235,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:00.340 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:06:29.852 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:59.855 [info] {"source":"oban","duration":1378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:00.342 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:07:29.856 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:59.858 [info] {"source":"oban","duration":1336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:00.343 [info] {"source":"oban","duration":157,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:08:29.860 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:59.862 [info] {"source":"oban","duration":1423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:00.344 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:09:29.864 [info] {"source":"oban","duration":1357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:59.866 [info] {"source":"oban","duration":1913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:00.346 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:10:29.869 [info] {"source":"oban","duration":1677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:59.872 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:00.348 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:11:29.874 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:59.876 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:00.350 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:12:29.878 [info] {"source":"oban","duration":1419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:59.880 [info] {"source":"oban","duration":1176,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:00.351 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:13:29.882 [info] {"source":"oban","duration":1498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:59.885 [info] {"source":"oban","duration":2552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:00.352 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:14:29.888 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:59.891 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:00.354 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:15:29.893 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:59.895 [info] {"source":"oban","duration":1353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:00.356 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:16:29.897 [info] {"source":"oban","duration":1314,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:59.898 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:00.358 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:17:29.901 [info] {"source":"oban","duration":1373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:59.903 [info] {"source":"oban","duration":1454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:00.359 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:18:29.905 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:59.907 [info] {"source":"oban","duration":1408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:00.360 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:19:29.909 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:59.912 [info] {"source":"oban","duration":1927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:00.362 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:20:29.914 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:59.915 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:00.363 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:21:29.917 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:59.919 [info] {"source":"oban","duration":1361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:00.365 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:22:29.921 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:59.923 [info] {"source":"oban","duration":1284,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:00.366 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:23:29.925 [info] {"source":"oban","duration":1494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:59.928 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:00.367 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:24:29.931 [info] {"source":"oban","duration":935,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:59.933 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:00.369 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:25:29.935 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:59.937 [info] {"source":"oban","duration":1307,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:00.370 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:26:29.939 [info] {"source":"oban","duration":1349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:59.942 [info] {"source":"oban","duration":1927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:00.371 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:27:29.945 [info] {"source":"oban","duration":1952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:59.948 [info] {"source":"oban","duration":1922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:00.373 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:28:29.950 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:59.953 [info] {"source":"oban","duration":2249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:00.374 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:29:29.955 [info] {"source":"oban","duration":1497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:59.957 [info] {"source":"oban","duration":1450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:00.375 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:30:29.960 [info] {"source":"oban","duration":1353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:59.961 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:00.376 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:31:29.965 [info] {"source":"oban","duration":1940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:59.967 [info] {"source":"oban","duration":1374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:00.377 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:32:29.968 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:59.970 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:00.378 [info] {"source":"oban","duration":256,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:33:29.972 [info] {"source":"oban","duration":1489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:59.975 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:00.379 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:34:29.978 [info] {"source":"oban","duration":2254,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:59.980 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:00.380 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:35:29.982 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:59.984 [info] {"source":"oban","duration":1381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:00.381 [info] {"source":"oban","duration":273,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:36:29.986 [info] {"source":"oban","duration":1811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:59.989 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:00.383 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:37:29.992 [info] {"source":"oban","duration":1301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:59.993 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:00.384 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:38:29.995 [info] {"source":"oban","duration":1364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:59.998 [info] {"source":"oban","duration":1840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:00.386 [info] {"source":"oban","duration":145,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:39:30.001 [info] {"source":"oban","duration":1311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:00.003 [info] {"source":"oban","duration":1642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:00.387 [info] {"source":"oban","duration":292,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:40:30.005 [info] {"source":"oban","duration":1353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:00.012 [info] {"source":"oban","duration":5919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:00.389 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:41:30.013 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:00.015 [info] {"source":"oban","duration":1806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:00.390 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:42:30.018 [info] {"source":"oban","duration":1482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:00.019 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:00.391 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:43:30.021 [info] {"source":"oban","duration":1453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:00.023 [info] {"source":"oban","duration":1324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:00.392 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:44:30.025 [info] {"source":"oban","duration":1377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:00.027 [info] {"source":"oban","duration":1254,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:00.393 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:45:30.029 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:00.030 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:00.394 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:46:30.032 [info] {"source":"oban","duration":1358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:00.033 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:00.395 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:47:30.035 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:00.036 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:00.396 [info] {"source":"oban","duration":133,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:48:30.038 [info] {"source":"oban","duration":1682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:00.040 [info] {"source":"oban","duration":1252,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:00.397 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:49:30.042 [info] {"source":"oban","duration":1895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:00.045 [info] {"source":"oban","duration":1264,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:00.398 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:50:30.047 [info] {"source":"oban","duration":1135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:00.049 [info] {"source":"oban","duration":1261,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:00.400 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:51:30.051 [info] {"source":"oban","duration":1662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:00.053 [info] {"source":"oban","duration":1283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:00.401 [info] {"source":"oban","duration":284,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:52:30.055 [info] {"source":"oban","duration":958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:00.061 [info] {"source":"oban","duration":5302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:00.402 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:53:30.063 [info] {"source":"oban","duration":1335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:00.065 [info] {"source":"oban","duration":1188,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:00.403 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:54:30.066 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:00.070 [info] {"source":"oban","duration":3016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:00.404 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:55:30.071 [info] {"source":"oban","duration":845,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:00.074 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:00.405 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:56:30.076 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:00.077 [info] {"source":"oban","duration":853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:00.406 [info] {"source":"oban","duration":280,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:57:30.081 [info] {"source":"oban","duration":1944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:00.083 [info] {"source":"oban","duration":1005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:00.407 [info] {"source":"oban","duration":268,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:58:30.085 [info] {"source":"oban","duration":1269,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:00.087 [info] {"source":"oban","duration":1310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:00.408 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:59:30.088 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:00.090 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:00.410 [info] {"source":"oban","duration":1490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[401]} 01:00:00.417 [info] {"args":{},"id":401,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1771203600416951660,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","local_data"]} 01:00:00.428 [debug] QUERY OK source="media_items" db=11.4ms idle=1016.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 IFNULL(retention_period_days, 0) > 0 AND DATETIME(media_downloaded_at, '+' || retention_period_days || ' day') < DATETIME('now') ) AND NOT (m0."prevent_culling" = 1)) [] 01:00:00.428 [info] Culling 0 media items past their retention date 01:00:00.438 [debug] QUERY OK source="media_items" db=9.4ms idle=338.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" WHERE ((NOT (m0."media_filepath" IS NULL) AND NOT ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND NOT (m0."prevent_culling" = 1)) [] 01:00:00.438 [info] Deleting 0 media items that are from before the source cutoff 01:00:00.439 [info] {"args":{},"id":401,"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":21738,"event":"job:stop","queue_time":416047,"attempt":1,"tags":["media_item","local_data"]} 01:00:30.092 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:00.096 [info] {"source":"oban","duration":1802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:00.411 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:01:30.098 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:00.100 [info] {"source":"oban","duration":1583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:00.412 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:02:30.103 [info] {"source":"oban","duration":921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:00.105 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:00.413 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:03:30.106 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:00.108 [info] {"source":"oban","duration":1396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:00.414 [info] {"source":"oban","duration":336,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:04:30.110 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:00.112 [info] {"source":"oban","duration":1369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:00.415 [info] {"source":"oban","duration":212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:05:30.114 [info] {"source":"oban","duration":1419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:00.116 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:00.416 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:06:30.119 [info] {"source":"oban","duration":1708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:00.122 [info] {"source":"oban","duration":1491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:00.417 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:07:30.124 [info] {"source":"oban","duration":1353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:00.127 [info] {"source":"oban","duration":1898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:00.418 [info] {"source":"oban","duration":123,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:08:30.129 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:00.132 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:00.419 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:09:30.134 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:00.136 [info] {"source":"oban","duration":1238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:00.420 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:10:30.138 [info] {"source":"oban","duration":1256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:00.140 [info] {"source":"oban","duration":1237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:00.421 [info] {"source":"oban","duration":263,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:11:30.142 [info] {"source":"oban","duration":1259,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:00.144 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:00.422 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:12:30.146 [info] {"source":"oban","duration":1342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:00.149 [info] {"source":"oban","duration":1829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:00.423 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:13:30.151 [info] {"source":"oban","duration":1227,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:00.153 [info] {"source":"oban","duration":1229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:00.424 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:14:30.155 [info] {"source":"oban","duration":1475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:00.158 [info] {"source":"oban","duration":1913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:00.425 [info] {"source":"oban","duration":153,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:15:30.160 [info] {"source":"oban","duration":1330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:00.162 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:00.426 [info] {"source":"oban","duration":231,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:16:30.164 [info] {"source":"oban","duration":1157,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:00.166 [info] {"source":"oban","duration":1408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:00.427 [info] {"source":"oban","duration":161,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:17:30.168 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:00.171 [info] {"source":"oban","duration":1365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:00.428 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:18:30.173 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:00.175 [info] {"source":"oban","duration":1443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:00.429 [info] {"source":"oban","duration":161,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:19:30.177 [info] {"source":"oban","duration":1325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:00.179 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:00.430 [info] {"source":"oban","duration":222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:20:30.182 [info] {"source":"oban","duration":1962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:00.185 [info] {"source":"oban","duration":1757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:00.431 [info] {"source":"oban","duration":245,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:21:30.188 [info] {"source":"oban","duration":1819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:00.190 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:00.432 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:22:30.192 [info] {"source":"oban","duration":945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:00.194 [info] {"source":"oban","duration":1366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:00.434 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:23:30.196 [info] {"source":"oban","duration":1763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:00.199 [info] {"source":"oban","duration":1260,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:00.435 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:24:30.201 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:00.203 [info] {"source":"oban","duration":1467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:00.436 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:25:30.207 [info] {"source":"oban","duration":3120,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:00.209 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:00.437 [info] {"source":"oban","duration":157,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:26:30.211 [info] {"source":"oban","duration":1311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:00.213 [info] {"source":"oban","duration":1483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:00.438 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:27:30.215 [info] {"source":"oban","duration":1377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:00.217 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:00.439 [info] {"source":"oban","duration":153,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:28:30.219 [info] {"source":"oban","duration":1316,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:00.220 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:00.440 [info] {"source":"oban","duration":254,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:29:30.222 [info] {"source":"oban","duration":1375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:00.225 [info] {"source":"oban","duration":1918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:00.441 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:30:30.228 [info] {"source":"oban","duration":2672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:00.231 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:00.442 [info] {"source":"oban","duration":133,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:31:30.233 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:00.236 [info] {"source":"oban","duration":1909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:00.443 [info] {"source":"oban","duration":292,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:32:30.238 [info] {"source":"oban","duration":1359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:00.241 [info] {"source":"oban","duration":1932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:00.444 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:33:30.243 [info] {"source":"oban","duration":1434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:00.245 [info] {"source":"oban","duration":1634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:00.445 [info] {"source":"oban","duration":251,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:34:30.247 [info] {"source":"oban","duration":1652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:00.249 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:00.446 [info] {"source":"oban","duration":316,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:35:30.252 [info] {"source":"oban","duration":1814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:00.254 [info] {"source":"oban","duration":1471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:00.447 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:36:30.257 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:00.260 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:00.448 [info] {"source":"oban","duration":132,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:37:30.262 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:00.264 [info] {"source":"oban","duration":1451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:00.449 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:38:30.266 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:00.268 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:00.450 [info] {"source":"oban","duration":160,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:39:30.272 [info] {"source":"oban","duration":3819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:00.275 [info] {"source":"oban","duration":1305,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:00.451 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:40:30.277 [info] {"source":"oban","duration":1381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:00.279 [info] {"source":"oban","duration":1796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:00.452 [info] {"source":"oban","duration":165,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:41:30.282 [info] {"source":"oban","duration":1462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:00.284 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:00.453 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:42:30.286 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:00.287 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:00.454 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:43:30.289 [info] {"source":"oban","duration":1420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:00.293 [info] {"source":"oban","duration":1977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:00.455 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:44:30.295 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:00.297 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:00.456 [info] {"source":"oban","duration":296,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:45:30.298 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:00.301 [info] {"source":"oban","duration":1919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:00.457 [info] {"source":"oban","duration":288,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:46:30.303 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:00.306 [info] {"source":"oban","duration":1874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:00.458 [info] {"source":"oban","duration":281,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:47:30.309 [info] {"source":"oban","duration":1974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:00.311 [info] {"source":"oban","duration":1711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:00.459 [info] {"source":"oban","duration":274,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:48:30.312 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:00.314 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:00.460 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:49:30.316 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:00.319 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:00.461 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:50:30.321 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:00.324 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:00.462 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:51:30.326 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:00.328 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:00.463 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:52:30.331 [info] {"source":"oban","duration":958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:00.333 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:00.464 [info] {"source":"oban","duration":122,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:53:30.335 [info] {"source":"oban","duration":1356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:00.337 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:00.465 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:54:30.338 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:00.340 [info] {"source":"oban","duration":1453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:00.466 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:55:30.341 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:00.343 [info] {"source":"oban","duration":1363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:00.467 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:56:30.345 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:00.348 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:00.468 [info] {"source":"oban","duration":288,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:57:30.350 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:00.352 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:00.469 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:58:30.355 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:57.721 [debug] Tzdata polling for update. 01:58:57.991 [debug] Tzdata polling shows the loaded tz database is up to date. 01:59:00.357 [info] {"source":"oban","duration":1421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:00.470 [info] {"source":"oban","duration":230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:59:30.359 [info] {"source":"oban","duration":1372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:00.360 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:00.476 [info] {"source":"oban","duration":4957,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[402]} 02:00:00.483 [info] {"args":{},"id":402,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1771207200483422196,"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"]} 02:00:00.496 [debug] QUERY OK source="media_items" db=12.0ms idle=1072.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) 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) ) [] 02:00:00.496 [info] Redownloading 0 media items 02:00:00.497 [info] {"args":{},"id":402,"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":13160,"event":"job:stop","queue_time":482023,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:00:30.363 [info] {"source":"oban","duration":1943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:00.365 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:00.477 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:01:30.366 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:00.369 [info] {"source":"oban","duration":1462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:00.478 [info] {"source":"oban","duration":301,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:02:30.372 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:00.375 [info] {"source":"oban","duration":1441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:00.479 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:03:30.377 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:00.379 [info] {"source":"oban","duration":1350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:00.480 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:04:30.381 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:00.382 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:00.481 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:05:30.384 [info] {"source":"oban","duration":1359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:00.385 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:00.482 [info] {"source":"oban","duration":335,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:06:30.387 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:00.390 [info] {"source":"oban","duration":2059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:00.483 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:07:30.391 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:00.392 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:00.484 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:08:30.393 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:00.395 [info] {"source":"oban","duration":1328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:00.485 [info] {"source":"oban","duration":238,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:09:30.396 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:00.399 [info] {"source":"oban","duration":1311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:00.486 [info] {"source":"oban","duration":144,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:10:30.400 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:00.402 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:00.487 [info] {"source":"oban","duration":261,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:11:30.404 [info] {"source":"oban","duration":1065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:00.407 [info] {"source":"oban","duration":2058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:00.488 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:12:30.408 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:00.410 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:00.489 [info] {"source":"oban","duration":276,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:13:30.411 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:00.412 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:00.490 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:14:30.413 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:00.414 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:00.491 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:15:30.415 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.417 [info] {"source":"oban","duration":1026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.492 [info] {"source":"oban","duration":260,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:16:30.418 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:00.419 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:00.493 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:17:30.421 [info] {"source":"oban","duration":958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:00.422 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:00.494 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:18:30.423 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:00.424 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:00.495 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:19:30.425 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:00.426 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:00.496 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:20:30.427 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:00.428 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:00.497 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:21:30.430 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:00.432 [info] {"source":"oban","duration":960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:00.498 [info] {"source":"oban","duration":281,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:22:30.433 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:00.434 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:00.499 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:23:30.435 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:00.436 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:00.500 [info] {"source":"oban","duration":281,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:24:30.437 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:00.438 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:00.501 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:25:30.439 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:00.441 [info] {"source":"oban","duration":1396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:00.503 [info] {"source":"oban","duration":246,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:26:30.443 [info] {"source":"oban","duration":1037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:00.444 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:00.504 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:27:30.445 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:00.447 [info] {"source":"oban","duration":1423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:00.505 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:28:30.449 [info] {"source":"oban","duration":1329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:00.451 [info] {"source":"oban","duration":1349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:00.507 [info] {"source":"oban","duration":317,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:29:30.453 [info] {"source":"oban","duration":1288,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:00.454 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:00.508 [info] {"source":"oban","duration":127,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:30:30.456 [info] {"source":"oban","duration":920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:00.457 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:00.509 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:31:30.458 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:00.459 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:00.510 [info] {"source":"oban","duration":317,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:32:30.461 [info] {"source":"oban","duration":864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:00.463 [info] {"source":"oban","duration":1325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:00.511 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:33:30.465 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:00.468 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:00.512 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:34:30.470 [info] {"source":"oban","duration":1444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:00.472 [info] {"source":"oban","duration":1411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:00.514 [info] {"source":"oban","duration":230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:35:30.473 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:00.475 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:00.515 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:36:30.480 [info] {"source":"oban","duration":4008,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:00.482 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:00.516 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:37:30.484 [info] {"source":"oban","duration":1136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:00.485 [info] {"source":"oban","duration":876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:00.517 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:38:30.488 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:00.490 [info] {"source":"oban","duration":1272,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:00.518 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:39:30.492 [info] {"source":"oban","duration":1314,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:00.493 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:00.519 [info] {"source":"oban","duration":242,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:40:30.495 [info] {"source":"oban","duration":1024,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:00.497 [info] {"source":"oban","duration":1696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:00.520 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:41:30.499 [info] {"source":"oban","duration":1252,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:00.501 [info] {"source":"oban","duration":1115,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:00.521 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:42:30.503 [info] {"source":"oban","duration":1294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:00.505 [info] {"source":"oban","duration":1242,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:00.522 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:43:30.507 [info] {"source":"oban","duration":1279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:00.509 [info] {"source":"oban","duration":1303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:00.523 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:44:30.511 [info] {"source":"oban","duration":1282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:00.514 [info] {"source":"oban","duration":1962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:00.524 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:45:30.516 [info] {"source":"oban","duration":1291,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:00.518 [info] {"source":"oban","duration":1085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:00.525 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:46:30.520 [info] {"source":"oban","duration":1232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:00.522 [info] {"source":"oban","duration":1259,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:00.526 [info] {"source":"oban","duration":263,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:47:30.523 [info] {"source":"oban","duration":876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:00.526 [info] {"source":"oban","duration":1832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:00.527 [info] {"source":"oban","duration":278,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:48:30.529 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:00.528 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:49:00.532 [info] {"source":"oban","duration":1032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:30.535 [info] {"source":"oban","duration":1925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:00.530 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:50:00.537 [info] {"source":"oban","duration":1501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:30.540 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:00.531 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:51:00.543 [info] {"source":"oban","duration":1381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:30.545 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:00.532 [info] {"source":"oban","duration":296,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:52:00.547 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:30.549 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:00.533 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:53:00.551 [info] {"source":"oban","duration":1356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:30.553 [info] {"source":"oban","duration":1453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:00.534 [info] {"source":"oban","duration":238,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:54:00.556 [info] {"source":"oban","duration":1228,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:30.557 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:00.535 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:55:00.559 [info] {"source":"oban","duration":1246,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:30.561 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:00.536 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:56:00.563 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:30.565 [info] {"source":"oban","duration":1489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:00.538 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:57:00.567 [info] {"source":"oban","duration":1332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:30.569 [info] {"source":"oban","duration":1225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:00.540 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:58:00.571 [info] {"source":"oban","duration":1470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:30.574 [info] {"source":"oban","duration":1895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:00.541 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:59:00.576 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:30.577 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:00.542 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:00:00.579 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:30.581 [info] {"source":"oban","duration":1345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:00.543 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:01:00.583 [info] {"source":"oban","duration":1342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:30.585 [info] {"source":"oban","duration":1240,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:00.545 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:02:00.587 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:30.590 [info] {"source":"oban","duration":1859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:00.546 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:03:00.592 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:30.596 [info] {"source":"oban","duration":1861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:00.548 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:04:00.598 [info] {"source":"oban","duration":1349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:30.601 [info] {"source":"oban","duration":1856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:00.550 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:05:00.603 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:30.604 [info] {"source":"oban","duration":839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:00.551 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:06:00.607 [info] {"source":"oban","duration":1354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:30.609 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:00.552 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:07:00.611 [info] {"source":"oban","duration":1421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:30.613 [info] {"source":"oban","duration":1347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:00.554 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:08:00.615 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:30.618 [info] {"source":"oban","duration":1828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:00.555 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:09:00.620 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:30.622 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:00.556 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:10:00.625 [info] {"source":"oban","duration":1868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:30.627 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:00.558 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:11:00.629 [info] {"source":"oban","duration":1444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:30.631 [info] {"source":"oban","duration":1357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:00.560 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:12:00.633 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:30.636 [info] {"source":"oban","duration":1829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:00.561 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:13:00.638 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:30.640 [info] {"source":"oban","duration":1221,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:00.562 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:14:00.642 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:30.644 [info] {"source":"oban","duration":1504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:00.563 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:15:00.647 [info] {"source":"oban","duration":1373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:30.650 [info] {"source":"oban","duration":1881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:00.564 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:16:00.651 [info] {"source":"oban","duration":906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:30.654 [info] {"source":"oban","duration":1863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:00.565 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:17:00.657 [info] {"source":"oban","duration":1112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:30.659 [info] {"source":"oban","duration":1347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:00.566 [info] {"source":"oban","duration":136,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:18:00.660 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:30.662 [info] {"source":"oban","duration":1475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:00.567 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:19:00.664 [info] {"source":"oban","duration":1329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:30.666 [info] {"source":"oban","duration":1326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:00.568 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:20:00.668 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:30.671 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:00.569 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:21:00.674 [info] {"source":"oban","duration":1368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:30.676 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:00.570 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:22:00.678 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:30.679 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:00.571 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:23:00.681 [info] {"source":"oban","duration":1555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:30.683 [info] {"source":"oban","duration":1714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:00.572 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:24:00.686 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:30.688 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:00.573 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:25:00.691 [info] {"source":"oban","duration":1453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:30.693 [info] {"source":"oban","duration":1267,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:00.574 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:26:00.695 [info] {"source":"oban","duration":1424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:30.697 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:00.575 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:27:00.700 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:30.704 [info] {"source":"oban","duration":1868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:00.576 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:28:00.706 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:30.708 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:00.578 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:29:00.710 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:30.712 [info] {"source":"oban","duration":1365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:00.579 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:30:00.714 [info] {"source":"oban","duration":1390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:30.715 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:00.580 [info] {"source":"oban","duration":247,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:31:00.717 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:30.718 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:00.581 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:32:00.720 [info] {"source":"oban","duration":1408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:30.723 [info] {"source":"oban","duration":2138,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:00.582 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:33:00.725 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:30.728 [info] {"source":"oban","duration":2129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:00.583 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:34:00.730 [info] {"source":"oban","duration":1440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:30.732 [info] {"source":"oban","duration":1141,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:00.584 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:35:00.734 [info] {"source":"oban","duration":1872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:30.738 [info] {"source":"oban","duration":1900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:00.585 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:36:00.740 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:30.742 [info] {"source":"oban","duration":1293,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:00.586 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:37:00.744 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:30.746 [info] {"source":"oban","duration":1367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:00.587 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:38:00.749 [info] {"source":"oban","duration":1507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:30.751 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:00.588 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:39:00.754 [info] {"source":"oban","duration":1849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:30.756 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:00.590 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:40:00.758 [info] {"source":"oban","duration":1908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:30.761 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:00.591 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:41:00.763 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:30.765 [info] {"source":"oban","duration":1458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:00.592 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:42:00.768 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:30.770 [info] {"source":"oban","duration":1502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:00.593 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:43:00.771 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:30.774 [info] {"source":"oban","duration":1882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:00.594 [info] {"source":"oban","duration":331,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:44:00.776 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:30.778 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:00.595 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:45:00.780 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:30.783 [info] {"source":"oban","duration":2849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:00.597 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:46:00.786 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:30.789 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:00.598 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:47:00.791 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:30.793 [info] {"source":"oban","duration":1285,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:00.600 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:48:00.795 [info] {"source":"oban","duration":1403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:30.797 [info] {"source":"oban","duration":1323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:00.601 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:49:00.800 [info] {"source":"oban","duration":2015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:30.803 [info] {"source":"oban","duration":2277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:00.602 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:50:00.804 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:30.805 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:00.604 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:51:00.807 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:30.809 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:00.606 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:52:00.811 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:30.814 [info] {"source":"oban","duration":2136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:00.608 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:53:00.816 [info] {"source":"oban","duration":1444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:30.820 [info] {"source":"oban","duration":1894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:00.609 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:54:00.822 [info] {"source":"oban","duration":1866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:30.825 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:00.610 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:55:00.828 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:30.831 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:00.611 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:56:00.833 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:30.835 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:00.613 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:57:00.837 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:30.839 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:00.614 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:58:00.841 [info] {"source":"oban","duration":1479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:30.844 [info] {"source":"oban","duration":1976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:00.616 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:59:00.846 [info] {"source":"oban","duration":878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:30.849 [info] {"source":"oban","duration":1914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:00.617 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:00:00.851 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:30.853 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:00.618 [info] {"source":"oban","duration":333,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:01:00.855 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:30.858 [info] {"source":"oban","duration":1896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:00.619 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:02:00.860 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:30.862 [info] {"source":"oban","duration":1837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:00.620 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:03:00.865 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:30.867 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:00.621 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:04:00.868 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:30.872 [info] {"source":"oban","duration":1930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:00.623 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:05:00.874 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:30.876 [info] {"source":"oban","duration":1339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:00.625 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:06:00.878 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:30.880 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:00.626 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:07:00.882 [info] {"source":"oban","duration":1462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:30.884 [info] {"source":"oban","duration":1459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:00.627 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:08:00.886 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:30.888 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:00.629 [info] {"source":"oban","duration":262,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:09:00.891 [info] {"source":"oban","duration":1454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:30.893 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:00.631 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:10:00.895 [info] {"source":"oban","duration":1253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:30.896 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:00.632 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:11:00.898 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:30.900 [info] {"source":"oban","duration":1387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:00.634 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:12:00.902 [info] {"source":"oban","duration":1343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:30.904 [info] {"source":"oban","duration":1815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:00.635 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:13:00.908 [info] {"source":"oban","duration":1898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:30.910 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:00.636 [info] {"source":"oban","duration":284,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:14:00.912 [info] {"source":"oban","duration":1262,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:30.914 [info] {"source":"oban","duration":1351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:00.637 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:15:00.917 [info] {"source":"oban","duration":1816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:30.919 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:00.638 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:16:00.921 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:30.923 [info] {"source":"oban","duration":1809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:00.639 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:17:00.926 [info] {"source":"oban","duration":1773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:30.929 [info] {"source":"oban","duration":1375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:00.641 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:18:00.931 [info] {"source":"oban","duration":1388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:30.933 [info] {"source":"oban","duration":1494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:00.642 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:19:00.936 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:30.939 [info] {"source":"oban","duration":1987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:00.643 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:20:00.941 [info] {"source":"oban","duration":1506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:30.944 [info] {"source":"oban","duration":1316,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:00.644 [info] {"source":"oban","duration":334,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:21:00.947 [info] {"source":"oban","duration":2548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:30.949 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:00.645 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:22:00.950 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:30.951 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:00.646 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:23:00.954 [info] {"source":"oban","duration":1851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:30.956 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:00.647 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:24:00.959 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:30.961 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:00.649 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:25:00.963 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:30.965 [info] {"source":"oban","duration":1408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:00.650 [info] {"source":"oban","duration":252,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:26:00.967 [info] {"source":"oban","duration":1373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:30.970 [info] {"source":"oban","duration":1905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:00.651 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:27:00.973 [info] {"source":"oban","duration":1863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:30.975 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:00.653 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:28:00.978 [info] {"source":"oban","duration":1195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:30.980 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:00.655 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:29:00.981 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:30.984 [info] {"source":"oban","duration":2475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:00.657 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:30:00.986 [info] {"source":"oban","duration":1459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:30.988 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:00.659 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:31:00.990 [info] {"source":"oban","duration":1324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:30.992 [info] {"source":"oban","duration":1483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:00.661 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:32:00.995 [info] {"source":"oban","duration":1421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:30.997 [info] {"source":"oban","duration":1467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:00.662 [info] {"source":"oban","duration":254,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:33:00.999 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:31.002 [info] {"source":"oban","duration":1775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:00.663 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:34:01.005 [info] {"source":"oban","duration":2155,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:31.007 [info] {"source":"oban","duration":1117,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:00.664 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:35:01.009 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:31.011 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:00.665 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:36:01.014 [info] {"source":"oban","duration":2552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:31.016 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:00.666 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:37:01.018 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:31.020 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:00.667 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:38:01.022 [info] {"source":"oban","duration":1344,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:31.025 [info] {"source":"oban","duration":1925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:00.668 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:39:01.027 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:31.030 [info] {"source":"oban","duration":2041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:00.670 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:40:01.031 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:31.033 [info] {"source":"oban","duration":1360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:00.672 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:41:01.035 [info] {"source":"oban","duration":1661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:31.036 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:00.675 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:42:01.038 [info] {"source":"oban","duration":1229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:31.040 [info] {"source":"oban","duration":1210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:00.677 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:43:01.042 [info] {"source":"oban","duration":934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:31.044 [info] {"source":"oban","duration":987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:00.678 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:44:01.045 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:31.047 [info] {"source":"oban","duration":874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:00.679 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:45:01.049 [info] {"source":"oban","duration":913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:31.051 [info] {"source":"oban","duration":1281,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:00.680 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:46:01.052 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:31.055 [info] {"source":"oban","duration":921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:00.681 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:47:01.057 [info] {"source":"oban","duration":944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:31.059 [info] {"source":"oban","duration":1702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:00.682 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:48:01.061 [info] {"source":"oban","duration":869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:31.063 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:00.684 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:49:01.065 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:31.066 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:00.685 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:50:01.067 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:31.070 [info] {"source":"oban","duration":1321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:00.686 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:51:01.072 [info] {"source":"oban","duration":1288,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:31.073 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:00.687 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:52:01.075 [info] {"source":"oban","duration":1179,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:31.076 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:00.689 [info] {"source":"oban","duration":334,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:53:01.078 [info] {"source":"oban","duration":1737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:31.080 [info] {"source":"oban","duration":1176,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:00.690 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:54:01.081 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:31.083 [info] {"source":"oban","duration":1033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:00.691 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:55:01.084 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:31.087 [info] {"source":"oban","duration":1093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:00.692 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:56:01.089 [info] {"source":"oban","duration":874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:31.091 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:00.693 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:57:01.093 [info] {"source":"oban","duration":1485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:31.095 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:00.694 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:58:01.097 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:31.099 [info] {"source":"oban","duration":1156,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:00.695 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:59:01.101 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:31.104 [info] {"source":"oban","duration":1338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:00.696 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:00:01.106 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:31.109 [info] {"source":"oban","duration":2109,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:00.697 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:01:01.111 [info] {"source":"oban","duration":1441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:31.113 [info] {"source":"oban","duration":1631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:00.698 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:02:01.118 [info] {"source":"oban","duration":1387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:31.119 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:00.700 [info] {"source":"oban","duration":333,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:03:01.121 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:31.123 [info] {"source":"oban","duration":1639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:00.701 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:04:01.124 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:31.126 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:00.702 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:05:01.127 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:31.129 [info] {"source":"oban","duration":1301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:00.704 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:06:01.131 [info] {"source":"oban","duration":1278,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:31.133 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:00.706 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:07:01.135 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:31.137 [info] {"source":"oban","duration":1511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:00.707 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:08:01.140 [info] {"source":"oban","duration":1338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:31.142 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:00.708 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:09:01.144 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:31.146 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:00.709 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:10:01.148 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:31.150 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:00.710 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:11:01.152 [info] {"source":"oban","duration":1443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:31.156 [info] {"source":"oban","duration":1867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:00.711 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:12:01.158 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:31.160 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:00.712 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:13:01.163 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:31.165 [info] {"source":"oban","duration":1621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:00.713 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:14:01.168 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:31.170 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:00.714 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:15:01.172 [info] {"source":"oban","duration":1334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:31.174 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:00.715 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:16:01.176 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:31.179 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:00.717 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:17:01.181 [info] {"source":"oban","duration":1484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:31.183 [info] {"source":"oban","duration":1244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:00.718 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:18:01.185 [info] {"source":"oban","duration":1458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:31.188 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:00.719 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:19:01.191 [info] {"source":"oban","duration":1388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:31.193 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:00.721 [info] {"source":"oban","duration":156,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:20:01.195 [info] {"source":"oban","duration":1692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:31.197 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:00.722 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:21:01.198 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:31.200 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:00.723 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:22:01.203 [info] {"source":"oban","duration":1944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:31.205 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:00.725 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:23:01.207 [info] {"source":"oban","duration":1361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:31.209 [info] {"source":"oban","duration":1411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:00.726 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:24:01.211 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:31.213 [info] {"source":"oban","duration":1462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:00.727 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:25:01.215 [info] {"source":"oban","duration":1479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:31.216 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:00.728 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:26:01.218 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:31.221 [info] {"source":"oban","duration":1910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:00.730 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:27:01.223 [info] {"source":"oban","duration":1408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:31.225 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:00.732 [info] {"source":"oban","duration":315,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:28:01.227 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:31.229 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:00.733 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:29:01.232 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:31.235 [info] {"source":"oban","duration":1375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:00.734 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:30:01.237 [info] {"source":"oban","duration":1218,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:31.239 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:00.735 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:31:01.241 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:31.243 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:00.736 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:32:01.245 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:31.248 [info] {"source":"oban","duration":1064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:00.737 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:33:01.250 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:31.252 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:00.739 [info] {"source":"oban","duration":1198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:34:01.256 [info] {"source":"oban","duration":1877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:31.258 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:00.740 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:35:01.260 [info] {"source":"oban","duration":1423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:31.262 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:00.742 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:36:01.263 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:31.265 [info] {"source":"oban","duration":1546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:00.743 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:37:01.268 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:31.269 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:00.744 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:38:01.271 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:31.273 [info] {"source":"oban","duration":1310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:00.746 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:39:01.275 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:31.277 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:00.747 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:40:01.280 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:31.283 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:00.750 [info] {"source":"oban","duration":1190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:41:01.285 [info] {"source":"oban","duration":1516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:31.288 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:00.752 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:42:01.291 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:31.293 [info] {"source":"oban","duration":1329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:00.753 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:43:01.295 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:31.298 [info] {"source":"oban","duration":1897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:00.754 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:44:01.300 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:31.302 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:00.755 [info] {"source":"oban","duration":335,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:45:01.304 [info] {"source":"oban","duration":1439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:31.307 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:00.756 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:46:01.310 [info] {"source":"oban","duration":1358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:31.311 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:00.758 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:47:01.314 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:31.316 [info] {"source":"oban","duration":1504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:00.759 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:48:01.319 [info] {"source":"oban","duration":1378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:31.321 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:00.760 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:49:01.324 [info] {"source":"oban","duration":1917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:31.326 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:00.762 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:50:01.328 [info] {"source":"oban","duration":1450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:31.331 [info] {"source":"oban","duration":1899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:00.763 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:51:01.333 [info] {"source":"oban","duration":1390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:31.336 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:00.765 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:52:01.338 [info] {"source":"oban","duration":1441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:31.340 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:00.766 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:53:01.343 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:31.345 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:00.768 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:54:01.348 [info] {"source":"oban","duration":1419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:31.350 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:00.769 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:55:01.352 [info] {"source":"oban","duration":1292,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:31.354 [info] {"source":"oban","duration":1445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:00.770 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:56:01.356 [info] {"source":"oban","duration":1475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:31.359 [info] {"source":"oban","duration":1357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:00.771 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:57:01.361 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:31.363 [info] {"source":"oban","duration":1467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:00.772 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:58:01.364 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:31.366 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:00.774 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:59:01.368 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:31.370 [info] {"source":"oban","duration":1366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:00.775 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:00:01.372 [info] {"source":"oban","duration":1460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:31.375 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:00.777 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:01:01.377 [info] {"source":"oban","duration":1603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:31.380 [info] {"source":"oban","duration":1785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:00.778 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:02:01.382 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:31.383 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:00.779 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:03:01.385 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:31.388 [info] {"source":"oban","duration":1888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:00.781 [info] {"source":"oban","duration":249,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:04:01.389 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:31.390 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:00.782 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:05:01.392 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:31.393 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:00.783 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:06:01.395 [info] {"source":"oban","duration":1593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:31.396 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:00.784 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:07:01.398 [info] {"source":"oban","duration":1346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:31.401 [info] {"source":"oban","duration":2202,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:00.785 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:08:01.402 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:31.404 [info] {"source":"oban","duration":1187,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:00.786 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:09:01.405 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:31.409 [info] {"source":"oban","duration":3458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:00.787 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:10:01.410 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:31.412 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:00.789 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:11:01.413 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:31.414 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:00.790 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:12:01.416 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:31.417 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:00.791 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:13:01.418 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:31.419 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:00.793 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:14:01.420 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:31.422 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:00.794 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:15:01.423 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:31.424 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:00.795 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:16:01.425 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:31.426 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:00.796 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:17:01.427 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:31.428 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:00.798 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:18:01.429 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:31.430 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:00.799 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:19:01.431 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:31.433 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:00.800 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:20:01.434 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:31.436 [info] {"source":"oban","duration":970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:00.802 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:21:01.437 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:31.438 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:00.803 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:22:01.440 [info] {"source":"oban","duration":1027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:31.442 [info] {"source":"oban","duration":1241,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:00.805 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:23:01.443 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:31.444 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:00.806 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:24:01.446 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:31.449 [info] {"source":"oban","duration":1088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:00.807 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:25:01.450 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:31.452 [info] {"source":"oban","duration":962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:00.808 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:26:01.453 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:31.454 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:00.809 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:27:01.456 [info] {"source":"oban","duration":1203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:31.457 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:00.810 [info] {"source":"oban","duration":299,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:28:01.458 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:31.461 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:00.811 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:29:01.463 [info] {"source":"oban","duration":1318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:31.464 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:00.812 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:30:01.465 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:31.467 [info] {"source":"oban","duration":1424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:00.813 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:31:01.470 [info] {"source":"oban","duration":1999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:31.472 [info] {"source":"oban","duration":1375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:00.814 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:32:01.474 [info] {"source":"oban","duration":1338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:31.476 [info] {"source":"oban","duration":1291,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:00.815 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:33:01.477 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:31.478 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:00.816 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:34:01.480 [info] {"source":"oban","duration":1257,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:31.481 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:00.817 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:35:01.484 [info] {"source":"oban","duration":1591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:31.486 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:00.818 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:36:01.489 [info] {"source":"oban","duration":1454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:31.491 [info] {"source":"oban","duration":1119,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:00.819 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:37:01.492 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:31.495 [info] {"source":"oban","duration":2143,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:00.821 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:38:01.496 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:31.497 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:00.822 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:39:01.501 [info] {"source":"oban","duration":2115,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:31.502 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:00.823 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:40:01.504 [info] {"source":"oban","duration":1108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:31.505 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:00.824 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:41:01.509 [info] {"source":"oban","duration":3098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:31.511 [info] {"source":"oban","duration":1717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:00.826 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:42:01.514 [info] {"source":"oban","duration":1324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:31.517 [info] {"source":"oban","duration":1774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:00.827 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:43:01.519 [info] {"source":"oban","duration":1617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:31.522 [info] {"source":"oban","duration":1311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:00.828 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:44:01.525 [info] {"source":"oban","duration":1955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:31.526 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:00.829 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:45:01.528 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:31.531 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:00.830 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:46:01.533 [info] {"source":"oban","duration":1424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:31.535 [info] {"source":"oban","duration":1785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:00.831 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:47:01.538 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:31.539 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:00.833 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:48:01.541 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:31.543 [info] {"source":"oban","duration":1690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:00.834 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:49:01.547 [info] {"source":"oban","duration":1890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:31.549 [info] {"source":"oban","duration":1873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:00.835 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:50:01.553 [info] {"source":"oban","duration":1917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:31.555 [info] {"source":"oban","duration":951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:00.837 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:51:01.556 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:31.558 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:00.838 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:52:01.560 [info] {"source":"oban","duration":1519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:31.563 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:00.839 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:53:01.565 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:31.568 [info] {"source":"oban","duration":1444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:00.840 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:54:01.570 [info] {"source":"oban","duration":1365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:31.571 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:00.842 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:55:01.574 [info] {"source":"oban","duration":1929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:31.576 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:00.844 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:56:01.578 [info] {"source":"oban","duration":1865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:31.581 [info] {"source":"oban","duration":1492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:00.846 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:57:01.585 [info] {"source":"oban","duration":1942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:31.588 [info] {"source":"oban","duration":2732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:00.848 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:58:01.592 [info] {"source":"oban","duration":1396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:31.594 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:00.849 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:59:01.597 [info] {"source":"oban","duration":1796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:31.599 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:00.850 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:00:01.601 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:31.603 [info] {"source":"oban","duration":1374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:00.851 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:01:01.605 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:31.608 [info] {"source":"oban","duration":1824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:00.852 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:02:01.610 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:31.612 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:00.853 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:03:01.615 [info] {"source":"oban","duration":1984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:31.617 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:00.854 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:04:01.618 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:31.620 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:00.855 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:05:01.622 [info] {"source":"oban","duration":1365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:31.624 [info] {"source":"oban","duration":1322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:00.856 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:06:01.626 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:31.628 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:00.857 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:07:01.631 [info] {"source":"oban","duration":1318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:31.633 [info] {"source":"oban","duration":1458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:00.858 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:08:01.635 [info] {"source":"oban","duration":1424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:31.637 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:00.859 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:09:01.639 [info] {"source":"oban","duration":1366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:31.640 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:00.860 [info] {"source":"oban","duration":317,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:10:01.642 [info] {"source":"oban","duration":1807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:31.646 [info] {"source":"oban","duration":2588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:00.861 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:11:01.648 [info] {"source":"oban","duration":1518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:31.651 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:00.862 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:12:01.652 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:31.655 [info] {"source":"oban","duration":1434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:00.863 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:13:01.657 [info] {"source":"oban","duration":1299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:31.660 [info] {"source":"oban","duration":2108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:00.864 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:14:01.662 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:31.664 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:00.865 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:15:01.666 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:31.667 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:00.866 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:16:01.669 [info] {"source":"oban","duration":1424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:31.672 [info] {"source":"oban","duration":1856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:00.867 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:17:01.674 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:31.679 [info] {"source":"oban","duration":3957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:00.868 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:18:01.681 [info] {"source":"oban","duration":1475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:31.684 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:00.869 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:19:01.687 [info] {"source":"oban","duration":1158,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:31.689 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:00.870 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:20:01.692 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:31.694 [info] {"source":"oban","duration":1378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:00.871 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:21:01.696 [info] {"source":"oban","duration":1321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:31.698 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:00.872 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:22:01.700 [info] {"source":"oban","duration":1481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:31.703 [info] {"source":"oban","duration":2096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:00.873 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:23:01.705 [info] {"source":"oban","duration":1176,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:31.707 [info] {"source":"oban","duration":1330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:00.874 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:24:01.709 [info] {"source":"oban","duration":1420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:31.710 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:00.875 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:25:01.713 [info] {"source":"oban","duration":2291,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:31.715 [info] {"source":"oban","duration":1331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:00.876 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:26:01.717 [info] {"source":"oban","duration":1474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:31.719 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:00.877 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:27:01.721 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:31.723 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:00.878 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:28:01.725 [info] {"source":"oban","duration":1453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:31.727 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:00.879 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:29:01.729 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:31.731 [info] {"source":"oban","duration":1354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:00.880 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:30:01.733 [info] {"source":"oban","duration":1838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:31.736 [info] {"source":"oban","duration":1199,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:00.882 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:31:01.738 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:31.740 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:00.884 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:32:01.743 [info] {"source":"oban","duration":1471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:31.746 [info] {"source":"oban","duration":1359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:00.886 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:33:01.748 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:31.750 [info] {"source":"oban","duration":1329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:00.887 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:34:01.751 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:31.753 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:00.889 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:35:01.755 [info] {"source":"oban","duration":1731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:31.758 [info] {"source":"oban","duration":1086,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:00.890 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:36:01.760 [info] {"source":"oban","duration":1755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:31.763 [info] {"source":"oban","duration":1365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:00.891 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:37:01.765 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:31.767 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:00.892 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:38:01.769 [info] {"source":"oban","duration":1460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:31.771 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:00.893 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:39:01.773 [info] {"source":"oban","duration":1462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:31.776 [info] {"source":"oban","duration":1243,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:00.894 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:40:01.778 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:31.780 [info] {"source":"oban","duration":1408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:00.895 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:41:01.782 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:31.783 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:00.896 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:42:01.785 [info] {"source":"oban","duration":1882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:31.789 [info] {"source":"oban","duration":1998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:00.897 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:43:01.791 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:31.793 [info] {"source":"oban","duration":1742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:00.898 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:44:01.796 [info] {"source":"oban","duration":1485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:31.799 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:00.899 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:45:01.801 [info] {"source":"oban","duration":1255,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:31.803 [info] {"source":"oban","duration":1845,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:00.900 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:46:01.806 [info] {"source":"oban","duration":1501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:31.809 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:00.902 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:47:01.813 [info] {"source":"oban","duration":1860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:31.815 [info] {"source":"oban","duration":1372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:00.903 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:48:01.817 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:31.820 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:00.905 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:49:01.824 [info] {"source":"oban","duration":1891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:31.826 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:00.906 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:50:01.828 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:31.831 [info] {"source":"oban","duration":1977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:00.908 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:51:01.833 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:31.835 [info] {"source":"oban","duration":1266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:00.909 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:52:01.837 [info] {"source":"oban","duration":1270,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:31.840 [info] {"source":"oban","duration":1925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:00.910 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:53:01.842 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:31.844 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:00.911 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:54:01.846 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:31.847 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:00.912 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:55:01.849 [info] {"source":"oban","duration":1474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:31.851 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:00.914 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:56:01.853 [info] {"source":"oban","duration":1482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:31.857 [info] {"source":"oban","duration":1866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:00.915 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:57:01.859 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:31.862 [info] {"source":"oban","duration":1797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:00.918 [info] {"source":"oban","duration":2157,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:58:01.864 [info] {"source":"oban","duration":1584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:31.866 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:00.919 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:59:01.868 [info] {"source":"oban","duration":1396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:31.870 [info] {"source":"oban","duration":1356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:00.920 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:00:01.872 [info] {"source":"oban","duration":1268,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:31.874 [info] {"source":"oban","duration":1861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:00.922 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:01:01.877 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:31.879 [info] {"source":"oban","duration":1341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:00.923 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:02:01.881 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:31.883 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:00.924 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:03:01.885 [info] {"source":"oban","duration":1477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:31.887 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:00.926 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:04:01.889 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:31.891 [info] {"source":"oban","duration":1358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:00.927 [info] {"source":"oban","duration":164,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:05:01.893 [info] {"source":"oban","duration":1443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:31.896 [info] {"source":"oban","duration":1188,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:00.928 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:06:01.897 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:31.900 [info] {"source":"oban","duration":1916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:00.930 [info] {"source":"oban","duration":891,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:07:01.902 [info] {"source":"oban","duration":1805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:31.905 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:00.931 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:08:01.907 [info] {"source":"oban","duration":1238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:31.909 [info] {"source":"oban","duration":1378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:00.932 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:09:01.911 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:31.913 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:00.934 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:10:01.915 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:31.917 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:00.935 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:11:01.919 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:31.921 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:00.936 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:12:01.924 [info] {"source":"oban","duration":1368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:31.926 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:00.938 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:13:01.928 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:31.930 [info] {"source":"oban","duration":1716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:00.939 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:14:01.933 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:31.935 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:00.940 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:15:01.937 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:31.940 [info] {"source":"oban","duration":1838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:00.941 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:16:01.942 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:31.944 [info] {"source":"oban","duration":1474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:00.942 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:17:01.948 [info] {"source":"oban","duration":1814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:31.951 [info] {"source":"oban","duration":1873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:00.944 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:18:01.953 [info] {"source":"oban","duration":1387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:31.955 [info] {"source":"oban","duration":1387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:00.945 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:19:01.958 [info] {"source":"oban","duration":1918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:31.960 [info] {"source":"oban","duration":957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:00.946 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:20:01.962 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:31.964 [info] {"source":"oban","duration":1342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:00.947 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:21:01.967 [info] {"source":"oban","duration":1996,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:31.969 [info] {"source":"oban","duration":1411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:00.948 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:22:01.971 [info] {"source":"oban","duration":1458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:31.973 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:00.949 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:23:01.977 [info] {"source":"oban","duration":1975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:31.979 [info] {"source":"oban","duration":1323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:00.950 [info] {"source":"oban","duration":343,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:24:01.980 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:31.982 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:00.951 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:25:01.984 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:31.987 [info] {"source":"oban","duration":1975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:00.953 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:26:01.989 [info] {"source":"oban","duration":1443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:31.991 [info] {"source":"oban","duration":1372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:00.954 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:27:01.993 [info] {"source":"oban","duration":1453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:31.996 [info] {"source":"oban","duration":1966,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:00.955 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:28:01.998 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:32.000 [info] {"source":"oban","duration":1378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:00.956 [info] {"source":"oban","duration":144,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:29:02.003 [info] {"source":"oban","duration":2791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:32.006 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:00.957 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:30:02.008 [info] {"source":"oban","duration":1336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:32.009 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:00.959 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:31:02.010 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:32.011 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:00.961 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:32:02.015 [info] {"source":"oban","duration":3771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:32.018 [info] {"source":"oban","duration":1866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:00.962 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:33:02.021 [info] {"source":"oban","duration":1497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:32.023 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:00.963 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:34:02.025 [info] {"source":"oban","duration":1419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:32.027 [info] {"source":"oban","duration":1654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:00.964 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:35:02.029 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:32.030 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:00.965 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:36:02.034 [info] {"source":"oban","duration":1602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:32.036 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:00.966 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:37:02.037 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:32.039 [info] {"source":"oban","duration":1103,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:00.967 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:38:02.042 [info] {"source":"oban","duration":2406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:32.044 [info] {"source":"oban","duration":1182,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:00.968 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:39:02.045 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:32.048 [info] {"source":"oban","duration":895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:00.970 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:40:02.051 [info] {"source":"oban","duration":1985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:32.054 [info] {"source":"oban","duration":1600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:00.971 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:41:02.056 [info] {"source":"oban","duration":1244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:32.061 [info] {"source":"oban","duration":4753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:00.973 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:42:02.063 [info] {"source":"oban","duration":1250,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:32.064 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:00.974 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:43:02.066 [info] {"source":"oban","duration":1171,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:32.068 [info] {"source":"oban","duration":1167,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:00.976 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:44:02.070 [info] {"source":"oban","duration":920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:32.072 [info] {"source":"oban","duration":1155,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:00.977 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:45:02.074 [info] {"source":"oban","duration":1228,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:32.076 [info] {"source":"oban","duration":1328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:00.978 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:46:02.078 [info] {"source":"oban","duration":1107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:32.080 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:00.979 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:47:02.082 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:32.085 [info] {"source":"oban","duration":1061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:00.980 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:48:02.088 [info] {"source":"oban","duration":1396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:32.090 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:00.982 [info] {"source":"oban","duration":265,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:49:02.092 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:32.094 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:00.983 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:50:02.096 [info] {"source":"oban","duration":1498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:32.097 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:00.985 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:51:02.099 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:32.102 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:00.986 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:52:02.104 [info] {"source":"oban","duration":1272,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:32.106 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:00.988 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:53:02.108 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:32.109 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:00.990 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:54:02.111 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:32.113 [info] {"source":"oban","duration":1584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:00.991 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:55:02.116 [info] {"source":"oban","duration":1355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:32.118 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:00.993 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:56:02.120 [info] {"source":"oban","duration":1482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:32.123 [info] {"source":"oban","duration":1490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:00.994 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:57:02.126 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:32.128 [info] {"source":"oban","duration":1390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:00.995 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:58:02.137 [info] {"source":"oban","duration":8345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:32.139 [info] {"source":"oban","duration":1492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:00.997 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:59:02.141 [info] {"source":"oban","duration":1339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:32.143 [info] {"source":"oban","duration":1311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:00.998 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:00:02.145 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:32.147 [info] {"source":"oban","duration":1329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:01.001 [info] {"source":"oban","duration":912,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:01:02.151 [info] {"source":"oban","duration":3493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:32.153 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:00.002 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:02:02.156 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:32.158 [info] {"source":"oban","duration":1353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:00.004 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:03:02.160 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:32.164 [info] {"source":"oban","duration":1911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:00.005 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:04:02.166 [info] {"source":"oban","duration":1671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:32.168 [info] {"source":"oban","duration":1313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:00.006 [info] {"source":"oban","duration":295,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:05:02.170 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:32.172 [info] {"source":"oban","duration":1374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:00.007 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:06:02.175 [info] {"source":"oban","duration":1639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:32.177 [info] {"source":"oban","duration":1497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:00.008 [info] {"source":"oban","duration":255,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:07:02.180 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:32.182 [info] {"source":"oban","duration":1365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:00.009 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:08:02.184 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:32.186 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:00.010 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:09:02.188 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:32.190 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:00.011 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:10:02.192 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:32.194 [info] {"source":"oban","duration":1305,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:00.013 [info] {"source":"oban","duration":1012,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:11:02.196 [info] {"source":"oban","duration":1326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:32.198 [info] {"source":"oban","duration":1355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:00.014 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:12:02.200 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:32.201 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:00.015 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:13:02.203 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:32.206 [info] {"source":"oban","duration":2081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:00.016 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:14:02.208 [info] {"source":"oban","duration":1403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:32.211 [info] {"source":"oban","duration":2708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:00.017 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:15:02.214 [info] {"source":"oban","duration":1808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:32.218 [info] {"source":"oban","duration":2254,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:00.020 [info] {"source":"oban","duration":2914,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:16:02.221 [info] {"source":"oban","duration":1828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:32.224 [info] {"source":"oban","duration":1762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:00.022 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:17:02.226 [info] {"source":"oban","duration":1803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:32.229 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:00.023 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:18:02.231 [info] {"source":"oban","duration":1121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:32.233 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:00.024 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:19:02.235 [info] {"source":"oban","duration":1051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:32.237 [info] {"source":"oban","duration":1467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:00.025 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:20:02.240 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:32.242 [info] {"source":"oban","duration":1313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:00.026 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:21:02.244 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:32.246 [info] {"source":"oban","duration":1374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:00.027 [info] {"source":"oban","duration":164,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:22:02.248 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:32.249 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:00.028 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:23:02.251 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:32.253 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:00.029 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:24:02.255 [info] {"source":"oban","duration":1458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:32.257 [info] {"source":"oban","duration":1285,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:00.030 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:25:02.259 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:32.261 [info] {"source":"oban","duration":1424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:00.031 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:26:02.263 [info] {"source":"oban","duration":1315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:32.265 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:00.032 [info] {"source":"oban","duration":164,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:27:02.267 [info] {"source":"oban","duration":1184,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:32.270 [info] {"source":"oban","duration":2082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:00.033 [info] {"source":"oban","duration":145,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:28:02.272 [info] {"source":"oban","duration":1341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:32.274 [info] {"source":"oban","duration":1823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:00.034 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:29:02.277 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:32.279 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:00.035 [info] {"source":"oban","duration":223,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:30:02.283 [info] {"source":"oban","duration":1926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:32.285 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:00.036 [info] {"source":"oban","duration":324,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:31:02.288 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:32.291 [info] {"source":"oban","duration":1749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:00.037 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:32:02.294 [info] {"source":"oban","duration":2124,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:32.296 [info] {"source":"oban","duration":1710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:00.038 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:33:02.298 [info] {"source":"oban","duration":1377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:32.300 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:00.039 [info] {"source":"oban","duration":136,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:34:02.302 [info] {"source":"oban","duration":1300,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:32.304 [info] {"source":"oban","duration":1495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:00.040 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:35:02.308 [info] {"source":"oban","duration":2134,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:32.310 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:00.041 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:36:02.313 [info] {"source":"oban","duration":1974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:32.315 [info] {"source":"oban","duration":1353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:00.042 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:37:02.319 [info] {"source":"oban","duration":1212,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:32.321 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:00.043 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:38:02.323 [info] {"source":"oban","duration":1338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:32.325 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:00.044 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:39:02.327 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:32.329 [info] {"source":"oban","duration":1871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:00.045 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:40:02.332 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:32.334 [info] {"source":"oban","duration":1460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:00.046 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:41:02.336 [info] {"source":"oban","duration":1350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:32.338 [info] {"source":"oban","duration":1248,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:00.047 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:42:02.340 [info] {"source":"oban","duration":1902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:32.343 [info] {"source":"oban","duration":1320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:00.048 [info] {"source":"oban","duration":257,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:43:02.345 [info] {"source":"oban","duration":1504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:32.347 [info] {"source":"oban","duration":1359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:00.049 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:44:02.349 [info] {"source":"oban","duration":1351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:32.351 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:00.050 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:45:02.353 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:32.355 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:00.051 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:46:02.357 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:32.359 [info] {"source":"oban","duration":1519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:00.052 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:47:02.362 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:32.364 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:00.053 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:48:02.366 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:32.369 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:00.054 [info] {"source":"oban","duration":262,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:49:02.372 [info] {"source":"oban","duration":1684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:32.376 [info] {"source":"oban","duration":1793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:00.055 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:50:02.378 [info] {"source":"oban","duration":1664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:32.380 [info] {"source":"oban","duration":1349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:00.056 [info] {"source":"oban","duration":323,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:51:02.382 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:32.383 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:00.057 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:52:02.385 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:32.386 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:00.058 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:53:02.388 [info] {"source":"oban","duration":1748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:32.391 [info] {"source":"oban","duration":938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:00.059 [info] {"source":"oban","duration":154,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:54:02.393 [info] {"source":"oban","duration":1375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:32.394 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:00.060 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:55:02.396 [info] {"source":"oban","duration":1800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:32.398 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:00.061 [info] {"source":"oban","duration":293,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:56:02.401 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:32.405 [info] {"source":"oban","duration":3171,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:00.062 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:57:02.406 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:32.407 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:00.063 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:58:02.408 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:32.409 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:00.064 [info] {"source":"oban","duration":269,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:59:02.412 [info] {"source":"oban","duration":1087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:32.413 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:00.065 [info] {"source":"oban","duration":279,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:00:02.414 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:32.416 [info] {"source":"oban","duration":1060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:00.066 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:01:02.417 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:32.418 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:00.067 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:02:02.419 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:32.421 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:00.069 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:03:02.422 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:32.423 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:00.070 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:04:02.425 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:32.426 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:00.071 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:05:02.428 [info] {"source":"oban","duration":1305,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:32.429 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:00.072 [info] {"source":"oban","duration":306,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:06:02.430 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:32.431 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:00.073 [info] {"source":"oban","duration":156,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:07:02.433 [info] {"source":"oban","duration":1279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:32.434 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:00.074 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:08:02.436 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:32.437 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:00.075 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:09:02.438 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:32.439 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:00.076 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:10:02.441 [info] {"source":"oban","duration":1334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:32.442 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:00.078 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:11:02.443 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:32.445 [info] {"source":"oban","duration":1046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:00.079 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:12:02.447 [info] {"source":"oban","duration":1153,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:32.448 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:00.081 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:13:02.451 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:32.452 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:00.082 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:14:02.454 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:32.456 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:00.083 [info] {"source":"oban","duration":268,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:15:02.458 [info] {"source":"oban","duration":1284,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:32.460 [info] {"source":"oban","duration":934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:00.084 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:16:02.462 [info] {"source":"oban","duration":1249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:32.463 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:00.085 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:17:02.465 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:32.466 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:00.086 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:18:02.468 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:32.470 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:00.087 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:19:02.471 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:32.472 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:00.088 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:20:02.474 [info] {"source":"oban","duration":1372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:32.475 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:00.090 [info] {"source":"oban","duration":299,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:21:02.477 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:32.478 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:00.091 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:22:02.481 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:32.483 [info] {"source":"oban","duration":934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:00.093 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:23:02.485 [info] {"source":"oban","duration":958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:32.487 [info] {"source":"oban","duration":1071,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:00.094 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:24:02.489 [info] {"source":"oban","duration":1355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:32.491 [info] {"source":"oban","duration":1365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:00.095 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:25:02.492 [info] {"source":"oban","duration":880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:32.494 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:00.096 [info] {"source":"oban","duration":242,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:26:02.496 [info] {"source":"oban","duration":1282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:32.498 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:00.097 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:27:02.499 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:32.502 [info] {"source":"oban","duration":1273,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:00.098 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:28:02.504 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:32.505 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:00.099 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:29:02.507 [info] {"source":"oban","duration":1007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:32.509 [info] {"source":"oban","duration":1242,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:00.100 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:30:02.510 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:32.513 [info] {"source":"oban","duration":1266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:00.101 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:31:02.515 [info] {"source":"oban","duration":1501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:32.518 [info] {"source":"oban","duration":1961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:00.102 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:32:02.520 [info] {"source":"oban","duration":1313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:32.522 [info] {"source":"oban","duration":1290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:00.103 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:33:02.524 [info] {"source":"oban","duration":1364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:32.526 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:00.104 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:34:02.528 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:32.530 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:00.106 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:35:02.532 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:32.534 [info] {"source":"oban","duration":1309,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:00.108 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:36:02.536 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:32.538 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:00.109 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:37:02.540 [info] {"source":"oban","duration":1420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:32.542 [info] {"source":"oban","duration":1734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:00.110 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:38:02.545 [info] {"source":"oban","duration":1484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:32.548 [info] {"source":"oban","duration":1915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:00.112 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:39:02.550 [info] {"source":"oban","duration":1374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:32.552 [info] {"source":"oban","duration":1489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:00.113 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:40:02.555 [info] {"source":"oban","duration":1339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:32.557 [info] {"source":"oban","duration":1458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:00.114 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:41:02.559 [info] {"source":"oban","duration":1439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:32.561 [info] {"source":"oban","duration":1165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:00.115 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:42:02.563 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:32.565 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:00.117 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:43:02.567 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:32.569 [info] {"source":"oban","duration":1364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:00.118 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:44:02.571 [info] {"source":"oban","duration":1372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:32.573 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:00.120 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:45:02.575 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:32.577 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:00.122 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:46:02.579 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:32.581 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:00.124 [info] {"source":"oban","duration":148,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:47:02.585 [info] {"source":"oban","duration":1273,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:32.587 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:00.125 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:48:02.589 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:32.591 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:00.126 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:49:02.593 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:32.597 [info] {"source":"oban","duration":1935,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:00.128 [info] {"source":"oban","duration":315,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:50:02.599 [info] {"source":"oban","duration":1313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:32.601 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:00.129 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:51:02.603 [info] {"source":"oban","duration":1123,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:32.605 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:00.130 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:52:02.608 [info] {"source":"oban","duration":1388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:32.610 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:00.131 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:53:02.612 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:32.614 [info] {"source":"oban","duration":1828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:00.132 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:54:02.617 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:32.619 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:00.134 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:55:02.621 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:32.623 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:00.135 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:56:02.624 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:32.628 [info] {"source":"oban","duration":2033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:00.136 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:57:02.630 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:32.632 [info] {"source":"oban","duration":1368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:00.138 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:58:02.634 [info] {"source":"oban","duration":1343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:32.636 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:00.139 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:59:02.639 [info] {"source":"oban","duration":1359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:32.641 [info] {"source":"oban","duration":1470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:00.140 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:00:02.644 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:32.646 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:00.141 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:01:02.648 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:32.650 [info] {"source":"oban","duration":1388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:49.998 [info] {"args":{"id":4},"id":392,"meta":{},"system_time":1771239709997991852,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:01:49.998 [debug] QUERY OK source="sources" db=0.3ms idle=1425.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 11:01:49.999 [debug] QUERY OK source="settings" db=0.2ms idle=1426.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:01:50.004 [debug] QUERY OK source="media_items" db=5.5ms idle=1009.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [4] 11:01:50.012 [debug] QUERY OK source="media_items" db=6.6ms queue=0.8ms idle=13.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [4] 11:01:50.013 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.2ms idle=14.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 11:01:50.015 [debug] QUERY OK source="settings" db=0.9ms idle=15.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:01:50.024 [debug] QUERY OK source="media_items" db=6.8ms queue=0.1ms idle=18.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [4] 11:01:50.028 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:01:50.029 [debug] Current batch of media processed. Will check again in 1000ms 11:01:50.029 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=24.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:01:50.030 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=17.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:01:50.031 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=17.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:01:50.033 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/audio/%(artist,creator,uploader,uploader_id)S/%(title)S.%(ext)S --extract-audio --format-sort +acodec:m4a --audio-format best --format bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/0c/b8/0cb8422331578c4439e2239094b783c647cd0583ebb42aceeb882628fb142541.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f2/dc/f2dc22e98650839d7330551b51cbb4e974bf9ed1f942d1c96ee2a2a89c55d0c9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:01:51.030 [debug] Current batch of media processed. Will check again in 1000ms 11:01:51.994 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@H3Podcast --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/audio/%(artist,creator,uploader,uploader_id)S/%(title)S.%(ext)S --extract-audio --format-sort +acodec:m4a --audio-format best --format bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/0c/b8/0cb8422331578c4439e2239094b783c647cd0583ebb42aceeb882628fb142541.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f2/dc/f2dc22e98650839d7330551b51cbb4e974bf9ed1f942d1c96ee2a2a89c55d0c9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 11:01:51.994 [debug] Gracefully stopping file follower 11:01:51.995 [debug] QUERY OK source="sources" db=0.2ms idle=422.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 11:01:51.995 [debug] QUERY OK source="sources" db=0.2ms idle=423.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-02-16 11:01:51Z], ~U[2026-02-16 11:01:51Z], 4] 11:01:51.999 [debug] QUERY OK source="media_items" db=3.6ms idle=423.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [4] 11:01:52.004 [debug] QUERY OK source="media_items" db=1.2ms idle=3.8ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [4] 11:01:52.005 [debug] QUERY OK source="media_items" db=0.3ms idle=4.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [4] 11:01:52.008 [debug] QUERY OK source="tasks" db=0.6ms idle=4.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [403, 4, ~U[2026-02-16 11:01:52Z], ~U[2026-02-16 11:01:52Z]] 11:01:52.008 [info] {"args":{"id":4},"id":392,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":2010113,"event":"job:stop","queue_time":747009,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:02:00.142 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:02:02.652 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:32.654 [info] {"source":"oban","duration":1458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:00.143 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:03:02.656 [info] {"source":"oban","duration":1267,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:32.657 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:00.144 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:04:02.660 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:32.662 [info] {"source":"oban","duration":1813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:00.145 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:05:02.665 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:32.669 [info] {"source":"oban","duration":2815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:00.146 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:06:02.672 [info] {"source":"oban","duration":1324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:32.674 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:00.147 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:07:02.676 [info] {"source":"oban","duration":1507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:32.679 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:00.148 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:08:02.682 [info] {"source":"oban","duration":1960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:32.684 [info] {"source":"oban","duration":1238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:00.150 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:09:02.686 [info] {"source":"oban","duration":1439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:32.688 [info] {"source":"oban","duration":1439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:00.151 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:10:02.691 [info] {"source":"oban","duration":1925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:32.693 [info] {"source":"oban","duration":1480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:00.153 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:11:02.696 [info] {"source":"oban","duration":1459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:32.698 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:00.154 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:12:02.700 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:32.703 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:00.155 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:13:02.705 [info] {"source":"oban","duration":1440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:32.707 [info] {"source":"oban","duration":1356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:00.156 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:14:02.709 [info] {"source":"oban","duration":1487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:32.710 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:00.158 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:15:02.713 [info] {"source":"oban","duration":1890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:32.715 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:00.159 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:16:02.718 [info] {"source":"oban","duration":1812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:32.720 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:00.161 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:17:02.722 [info] {"source":"oban","duration":1353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:32.724 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:00.162 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:18:02.725 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:32.727 [info] {"source":"oban","duration":1444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:00.164 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:19:02.730 [info] {"source":"oban","duration":1396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:32.733 [info] {"source":"oban","duration":1929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:00.165 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:20:02.735 [info] {"source":"oban","duration":915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:32.737 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:00.166 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:21:02.739 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:32.742 [info] {"source":"oban","duration":1927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:00.167 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:22:02.744 [info] {"source":"oban","duration":1335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:32.746 [info] {"source":"oban","duration":1487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:00.168 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:23:02.749 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:32.752 [info] {"source":"oban","duration":1462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:00.169 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:24:02.754 [info] {"source":"oban","duration":1356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:32.756 [info] {"source":"oban","duration":1850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:00.170 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:25:02.759 [info] {"source":"oban","duration":1332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:32.762 [info] {"source":"oban","duration":2560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:00.171 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:26:02.765 [info] {"source":"oban","duration":1153,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:32.767 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:00.172 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:27:02.769 [info] {"source":"oban","duration":1445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:32.772 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:00.173 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:28:02.774 [info] {"source":"oban","duration":1365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:32.776 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:00.174 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:29:02.778 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:32.781 [info] {"source":"oban","duration":2211,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:00.175 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:30:02.783 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:32.785 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:00.176 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:31:02.788 [info] {"source":"oban","duration":1869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:32.791 [info] {"source":"oban","duration":1915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:00.178 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:32:02.793 [info] {"source":"oban","duration":1783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:32.796 [info] {"source":"oban","duration":1525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:00.179 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:33:02.799 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:32.801 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:00.181 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:34:02.803 [info] {"source":"oban","duration":1481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:32.806 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:00.182 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:35:02.809 [info] {"source":"oban","duration":1905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:32.812 [info] {"source":"oban","duration":1879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:00.184 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:36:02.814 [info] {"source":"oban","duration":1366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:32.816 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:00.185 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:37:02.818 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:32.820 [info] {"source":"oban","duration":1458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:00.186 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:38:02.822 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:32.824 [info] {"source":"oban","duration":1387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:00.187 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:39:02.826 [info] {"source":"oban","duration":1396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:32.828 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:00.188 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:40:02.830 [info] {"source":"oban","duration":1784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:32.834 [info] {"source":"oban","duration":1821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:00.189 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:41:02.836 [info] {"source":"oban","duration":1377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:32.838 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:00.190 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:42:02.839 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:32.841 [info] {"source":"oban","duration":1345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:00.191 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:43:02.843 [info] {"source":"oban","duration":1365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:32.845 [info] {"source":"oban","duration":1396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:00.192 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:44:02.848 [info] {"source":"oban","duration":1898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:32.850 [info] {"source":"oban","duration":1360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:00.193 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:45:02.852 [info] {"source":"oban","duration":1852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:32.855 [info] {"source":"oban","duration":1239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:00.194 [info] {"source":"oban","duration":337,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:46:02.857 [info] {"source":"oban","duration":1489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:32.859 [info] {"source":"oban","duration":1445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:00.195 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:47:02.862 [info] {"source":"oban","duration":1875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:32.865 [info] {"source":"oban","duration":2612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:00.197 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:48:02.868 [info] {"source":"oban","duration":1909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:32.870 [info] {"source":"oban","duration":1930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:00.199 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:49:02.873 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:32.875 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:00.200 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:50:02.876 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:32.878 [info] {"source":"oban","duration":1800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:00.201 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:51:02.881 [info] {"source":"oban","duration":1613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:32.883 [info] {"source":"oban","duration":1835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:00.202 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:52:02.886 [info] {"source":"oban","duration":1360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:32.888 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:00.203 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:53:02.890 [info] {"source":"oban","duration":1364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:32.892 [info] {"source":"oban","duration":1495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:00.204 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:54:02.895 [info] {"source":"oban","duration":1173,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:32.897 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:00.205 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:55:02.898 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:32.900 [info] {"source":"oban","duration":1494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:00.206 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:56:02.903 [info] {"source":"oban","duration":1348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:32.905 [info] {"source":"oban","duration":1746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:00.207 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:57:02.908 [info] {"source":"oban","duration":1484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:32.912 [info] {"source":"oban","duration":1915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:00.208 [info] {"source":"oban","duration":317,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:58:02.914 [info] {"source":"oban","duration":1318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:32.916 [info] {"source":"oban","duration":1441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:00.209 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:59:02.918 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:32.920 [info] {"source":"oban","duration":1333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:00.210 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:00:02.922 [info] {"source":"oban","duration":1420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:32.924 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:00.211 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:01:02.926 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:32.928 [info] {"source":"oban","duration":1217,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:00.212 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:02:02.930 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:32.933 [info] {"source":"oban","duration":1925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:00.213 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:03:02.934 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:32.937 [info] {"source":"oban","duration":1948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:00.214 [info] {"source":"oban","duration":270,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:04:02.940 [info] {"source":"oban","duration":1885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:32.942 [info] {"source":"oban","duration":1437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:00.215 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:05:02.945 [info] {"source":"oban","duration":1894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:32.947 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:00.217 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:06:02.949 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:32.950 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:00.218 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:07:02.953 [info] {"source":"oban","duration":2862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:32.956 [info] {"source":"oban","duration":1315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:00.219 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:08:02.958 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:32.960 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:00.220 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:09:02.961 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:32.965 [info] {"source":"oban","duration":2628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:00.221 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:10:02.970 [info] {"source":"oban","duration":2994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:32.971 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:00.222 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:11:02.973 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:32.975 [info] {"source":"oban","duration":1485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:00.223 [info] {"source":"oban","duration":231,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:12:02.976 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:32.979 [info] {"source":"oban","duration":1918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:00.224 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:13:02.981 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:32.983 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:00.226 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:14:02.985 [info] {"source":"oban","duration":1500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:32.989 [info] {"source":"oban","duration":2034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:00.228 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:15:02.991 [info] {"source":"oban","duration":1366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:32.993 [info] {"source":"oban","duration":1501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:00.229 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:16:02.995 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:32.998 [info] {"source":"oban","duration":1850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:00.230 [info] {"source":"oban","duration":333,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:17:03.001 [info] {"source":"oban","duration":2136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:33.003 [info] {"source":"oban","duration":1804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:00.231 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:18:03.006 [info] {"source":"oban","duration":1335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:33.007 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:00.232 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:19:03.009 [info] {"source":"oban","duration":1664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:33.012 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:00.233 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:20:03.016 [info] {"source":"oban","duration":2103,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:33.018 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:00.234 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:21:03.019 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:33.020 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:00.235 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:22:03.021 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:33.022 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:00.237 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:23:03.023 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:33.025 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:00.238 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:24:03.027 [info] {"source":"oban","duration":1669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:33.032 [info] {"source":"oban","duration":4853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:00.239 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:25:03.042 [info] {"source":"oban","duration":5494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:33.043 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:00.241 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:26:03.045 [info] {"source":"oban","duration":1278,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:33.046 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:00.242 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:27:03.047 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:33.049 [info] {"source":"oban","duration":1247,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:00.243 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:28:03.050 [info] {"source":"oban","duration":870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:33.052 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:00.244 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:29:03.061 [info] {"source":"oban","duration":5557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:33.062 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:00.246 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:30:03.063 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:33.065 [info] {"source":"oban","duration":869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:00.247 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:31:03.067 [info] {"source":"oban","duration":923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:33.069 [info] {"source":"oban","duration":1374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:00.249 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:32:03.072 [info] {"source":"oban","duration":2003,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:33.074 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:00.250 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:33:03.076 [info] {"source":"oban","duration":1255,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:33.078 [info] {"source":"oban","duration":1373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:00.252 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:34:03.080 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:33.082 [info] {"source":"oban","duration":1209,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:00.254 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:35:03.085 [info] {"source":"oban","duration":1945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:33.087 [info] {"source":"oban","duration":1364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:00.256 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:36:03.089 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:33.091 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:00.258 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:37:03.093 [info] {"source":"oban","duration":1500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:18.137 [info] {"args":{"id":9},"id":393,"meta":{},"system_time":1771245438137852325,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:37:18.138 [debug] QUERY OK source="sources" db=0.2ms idle=1485.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:18.139 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms 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 [] 12:37:18.149 [debug] QUERY OK source="media_items" db=9.7ms idle=1009.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 12:37:18.151 [debug] QUERY OK source="media_items" db=2.1ms idle=17.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 12:37:18.152 [debug] QUERY OK source="media_profiles" db=0.1ms idle=14.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:37:18.153 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:18.153 [debug] QUERY OK source="settings" db=0.2ms idle=14.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:18.156 [debug] QUERY OK source="media_items" db=1.7ms 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 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [9] 12:37:18.157 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 12:37:18.157 [debug] Current batch of media processed. Will check again in 1000ms 12:37:18.158 [debug] QUERY OK source="settings" db=0.8ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:18.158 [debug] QUERY OK source="settings" db=0.2ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:18.159 [debug] QUERY OK source="settings" db=0.2ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:18.159 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@ExploringAlternatives --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Exploring Alternatives/%(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/07/f5/07f5f405ef4293e348676ee217665154104d7330e3638b3927cb534c7fd1e9ac.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/55/86/5586452d439f1b57b64dc1ec1e31c8e67dc7618c44f71030820f5eb9e91dfd20.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:37:19.158 [debug] Current batch of media processed. Will check again in 1000ms 12:37:20.159 [debug] Current batch of media processed. Will check again in 1000ms 12:37:21.160 [debug] Current batch of media processed. Will check again in 1000ms 12:37:22.161 [debug] Current batch of media processed. Will check again in 1000ms 12:37:23.163 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In the 1990's, this old house was on the verge of being torn down, but a family bought it and renovated/revived it very slowly (as their budget would allow) over the course of 30 years to create a stunning home for their family of 6. To save money and to reduce their impact on the environment, Geneviève and her family got VERY creative and used an impressive mix of local salvaged wood, panels from decommissioned and deconstructed truck trailers, discarded office furniture, secondhand decor items, and lots of finds at the scrap yard. \n\nSome of the unique repurposed items you'll find in this house include kitchen countertops made with old snooker tables, museum exhibit road cases used as a bedroom ceiling, an old streetlamp to light up the kitchen, the old verandah walls & windows being used as a bathroom, and more! Everywhere you look, Geneviève and her family used loads of creativity and ingenuity to create a low impact, sustainable home using items and materials that already exist.\n\nThe use of materials like this can definitely save money but it does take more time to source them.\n\nSurprisingly, the house is built to code despite their use of unconventional materials that were used structurally – including parts of the truck trailers that were used as the floor and ceiling in the addition! The family consulted with an architecture firm who helped them ensure that the materials would be sturdy and code compliant.\n\nThe architecture firm was called Tergos in Quebec, Canada:\nhttps://tergos.qc.ca/\n\nThis house was not only a family home, it was also where Geneviève homeschooled her four boys, and grew incredible permaculture gardens that provided the majority of the family's fresh food while they lived there.\n\nNow that the kids have left the nest, Geneviève has sold the house and is on the lookout for her next big project to get into!\n\nWe hope you enjoyed seeing how one family made a big effort to create an affordable home for themselves while keeping the environment top of mind. The result is absolutely stunning and very impressive!\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Lauréan Tardif\nhttps://www.instagram.com/laureantardif\n\n#reclaimed #recycled #house", "duration" => 791, "filename" => "/downloads/Exploring Alternatives/Stunning Recycled Home Built with SUPER Unique Reclaimed Materials – FULL TOUR/Stunning Recycled Home Built with SUPER Unique Reclaimed Materials – FULL TOUR [BOXfxvV7xzg].mp4", "id" => "BOXfxvV7xzg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BOXfxvV7xzg", "playlist_index" => 1, "timestamp" => 1769981626, "title" => "Stunning Recycled Home Built with SUPER Unique Reclaimed Materials – FULL TOUR", "upload_date" => "20260201"} 12:37:23.164 [debug] QUERY OK source="sources" db=0.5ms idle=1511.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:37:23.165 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1512.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:23.170 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=1513.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-01 21:33:46Z], 9] 12:37:23.177 [debug] QUERY OK source="media_items" db=5.1ms idle=1033.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In the 1990's, this old house was on the verge of being torn down, but a family bought it and renovated/revived it very slowly (as their budget would allow) over the course of 30 years to create a stunning home for their family of 6. To save money and to reduce their impact on the environment, Geneviève and her family got VERY creative and used an impressive mix of local salvaged wood, panels from decommissioned and deconstructed truck trailers, discarded office furniture, secondhand decor items, and lots of finds at the scrap yard. \n\nSome of the unique repurposed items you'll find in this house include kitchen countertops made with old snooker tables, museum exhibit road cases used as a bedroom ceiling, an old streetlamp to light up the kitchen, the old verandah walls & windows being used as a bathroom, and more! Everywhere you look, Geneviève and her family used loads of creativity and ingenuity to create a low impact, sustainable home using items and materials that already exist.\n\nThe use of materials like this can definitely save money but it does take more time to source them.\n\nSurprisingly, the house is built to code despite their use of unconventional materials that were used structurally – including parts of the truck trailers that were used as the floor and ceiling in the addition! The family consulted with an architecture firm who helped them ensure that the materials would be sturdy and code compliant.\n\nThe architecture firm was called Tergos in Quebec, Canada:\nhttps://tergos.qc.ca/\n\nThis house was not only a family home, it was also where Geneviève homeschooled her four boys, and grew incredible permaculture gardens that provided the majority of the family's fresh food while they lived there.\n\nNow that the kids have left the nest, Geneviève has sold the house and is on the lookout for her next big project to get into!\n\nWe hope you enjoyed seeing how one family made a big effort to create an affordable home for themselves while keeping the environment top of mind. The result is absolutely stunning and very impressive!\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Lauréan Tardif\nhttps://www.instagram.com/laureantardif\n\n#reclaimed #recycled #house", "Stunning Recycled Home Built with SUPER Unique Reclaimed Materials – FULL TOUR", "c85cae52-dcd7-4af2-a59e-a55b2d47c61d", 791, false, "BOXfxvV7xzg", "https://www.youtube.com/watch?v=BOXfxvV7xzg", 1, "/downloads/Exploring Alternatives/Stunning Recycled Home Built with SUPER Unique Reclaimed Materials – FULL TOUR/Stunning Recycled Home Built with SUPER Unique Reclaimed Materials – FULL TOUR [BOXfxvV7xzg].mp4", false, false, false, 9, [], 98, ~U[2026-02-01 21:33:46Z], ~U[2026-02-16 12:37:23Z], ~U[2026-02-16 12:37:23Z], "In the 1990's, this old house was on the verge of being torn down, but a family bought it and renovated/revived it very slowly (as their budget would allow) over the course of 30 years to create a stunning home for their family of 6. To save money and to reduce their impact on the environment, Geneviève and her family got VERY creative and used an impressive mix of local salvaged wood, panels from decommissioned and deconstructed truck trailers, discarded office furniture, secondhand decor items, and lots of finds at the scrap yard. \n\nSome of the unique repurposed items you'll find in this house include kitchen countertops made with old snooker tables, museum exhibit road cases used as a bedroom ceiling, an old streetlamp to light up the kitchen, the old verandah walls & windows being used as a bathroom, and more! Everywhere you look, Geneviève and her family used loads of creativity and ingenuity to create a low impact, sustainable home using items and materials that already exist.\n\nThe use of materials like this can definitely save money but it does take more time to source them.\n\nSurprisingly, the house is built to code despite their use of unconventional materials that were used structurally – including parts of the truck trailers that were used as the floor and ceiling in the addition! The family consulted with an architecture firm who helped them ensure that the materials would be sturdy and code compliant.\n\nThe architecture firm was called Tergos in Quebec, Canada:\nhttps://tergos.qc.ca/\n\nThis house was not only a family home, it was also where Geneviève homeschooled her four boys, and grew incredible permaculture gardens that provided the majority of the family's fresh food while they lived there.\n\nNow that the kids have left the nest, Geneviève has sold the house and is on the lookout for her next big project to get into!\n\nWe hope you enjoyed seeing how one family made a big effort to create an affordable home for themselves while keeping the environment top of mind. The result is absolutely stunning and very impressive!\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Lauréan Tardif\nhttps://www.instagram.com/laureantardif\n\n#reclaimed #recycled #house", "Stunning Recycled Home Built with SUPER Unique Reclaimed Materials – FULL TOUR", 791, false, "BOXfxvV7xzg", "https://www.youtube.com/watch?v=BOXfxvV7xzg", "/downloads/Exploring Alternatives/Stunning Recycled Home Built with SUPER Unique Reclaimed Materials – FULL TOUR/Stunning Recycled Home Built with SUPER Unique Reclaimed Materials – FULL TOUR [BOXfxvV7xzg].mp4", false, 9, ~U[2026-02-01 21:33:46Z]] 12:37:23.179 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=37.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:23.181 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=16.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:37:23.183 [debug] QUERY OK source="media_items" db=1.7ms idle=16.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19358] 12:37:23.183 [debug] Current batch of media processed. Will check again in 1000ms 12:37:24.185 [debug] Current batch of media processed. Will check again in 1000ms 12:37:25.187 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This incredible tiny house was hand crafted with high quality materials and beautiful wood to create a stunning tiny house on wheels, inside and out. Everything from the door and windows, to the cabinetry and shelving, was built by hand. Measuring 26' long x 8.5' wide x 13.5' tall, it's not a very big house but it has some of the most beautiful living spaces we've seen! \n\nYou can find out more about Matt's tiny house build here:\nhttps://nutshelldesignco.weebly.com/\n\nThe house has a luxurious tiled bathroom with an open shower, a living wall, and heated floors. A minimalist retro kitchen with custom made cabinets, a vintage-style fridge, and a '50s diner inspired table. A cozy living room with a trifold sofa bed, a standing wall shelving unit, woven wallpaper, and a designer lamp. And upstairs, the loft is a bright and airy sleeping nook with an operable skylight, storage shelves, and a stained glass window for extra air flow. The exterior has a bump out shed with space for the propane on demand water heater, the water filtration system, the electrical panel, and extra storage for things like camping gear.\n\nMatt spent a lot of time thinking about the lighting and ventilation in the house. He built and installed 7 clerestory windows along the top of the roofline to bring in lots of natural light, and he also built two casement windows on the main level, and installed an operable skylight in the loft to allow hot air to vent out through the roof in the summer.\n\nHe also included unique lights including a handmade Japanese-inspired lantern, a designer counterweighted light, and a Turkish goat-skin drum light.\n\nEvery single corner of this micro home has something special about it, and you can tell it was built with a lot of love, care and skill.\n\nThis tiny house is currently for sale on Vancouver Island and you can find out more about it on Matt's website here:\nhttps://nutshelldesignco.weebly.com/\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Lukáš Hyrman\nhttps://www.instagram.com/kashframes \n\nBuild photos provided by: Matt Fattori\nhttps://nutshelldesignco.weebly.com/ \n\n#tinyhouse #tinyhousedesign #tinyhome", "duration" => 1159, "filename" => "/downloads/Exploring Alternatives/*One of a Kind* Tiny House Built with Special Interior Details & Design – FULL TOUR/*One of a Kind* Tiny House Built with Special Interior Details & Design – FULL TOUR [M--AC9F15Ts].mp4", "id" => "M--AC9F15Ts", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=M--AC9F15Ts", "playlist_index" => 2, "timestamp" => 1768246545, "title" => "*One of a Kind* Tiny House Built with Special Interior Details & Design – FULL TOUR", "upload_date" => "20260112"} 12:37:25.188 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=535.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:37:25.189 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=536.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:25.194 [debug] QUERY OK source="media_items" db=4.2ms idle=537.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-12 19:35:45Z], 9] 12:37:25.201 [debug] QUERY OK source="media_items" db=5.0ms queue=0.1ms idle=542.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["This incredible tiny house was hand crafted with high quality materials and beautiful wood to create a stunning tiny house on wheels, inside and out. Everything from the door and windows, to the cabinetry and shelving, was built by hand. Measuring 26' long x 8.5' wide x 13.5' tall, it's not a very big house but it has some of the most beautiful living spaces we've seen! \n\nYou can find out more about Matt's tiny house build here:\nhttps://nutshelldesignco.weebly.com/\n\nThe house has a luxurious tiled bathroom with an open shower, a living wall, and heated floors. A minimalist retro kitchen with custom made cabinets, a vintage-style fridge, and a '50s diner inspired table. A cozy living room with a trifold sofa bed, a standing wall shelving unit, woven wallpaper, and a designer lamp. And upstairs, the loft is a bright and airy sleeping nook with an operable skylight, storage shelves, and a stained glass window for extra air flow. The exterior has a bump out shed with space for the propane on demand water heater, the water filtration system, the electrical panel, and extra storage for things like camping gear.\n\nMatt spent a lot of time thinking about the lighting and ventilation in the house. He built and installed 7 clerestory windows along the top of the roofline to bring in lots of natural light, and he also built two casement windows on the main level, and installed an operable skylight in the loft to allow hot air to vent out through the roof in the summer.\n\nHe also included unique lights including a handmade Japanese-inspired lantern, a designer counterweighted light, and a Turkish goat-skin drum light.\n\nEvery single corner of this micro home has something special about it, and you can tell it was built with a lot of love, care and skill.\n\nThis tiny house is currently for sale on Vancouver Island and you can find out more about it on Matt's website here:\nhttps://nutshelldesignco.weebly.com/\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Lukáš Hyrman\nhttps://www.instagram.com/kashframes \n\nBuild photos provided by: Matt Fattori\nhttps://nutshelldesignco.weebly.com/ \n\n#tinyhouse #tinyhousedesign #tinyhome", "*One of a Kind* Tiny House Built with Special Interior Details & Design – FULL TOUR", "6a2a6784-0653-4f1b-b3e1-c0b0d5194fd5", 1159, false, "M--AC9F15Ts", "https://www.youtube.com/watch?v=M--AC9F15Ts", 2, "/downloads/Exploring Alternatives/*One of a Kind* Tiny House Built with Special Interior Details & Design – FULL TOUR/*One of a Kind* Tiny House Built with Special Interior Details & Design – FULL TOUR [M--AC9F15Ts].mp4", false, false, false, 9, [], 98, ~U[2026-01-12 19:35:45Z], ~U[2026-02-16 12:37:25Z], ~U[2026-02-16 12:37:25Z], "This incredible tiny house was hand crafted with high quality materials and beautiful wood to create a stunning tiny house on wheels, inside and out. Everything from the door and windows, to the cabinetry and shelving, was built by hand. Measuring 26' long x 8.5' wide x 13.5' tall, it's not a very big house but it has some of the most beautiful living spaces we've seen! \n\nYou can find out more about Matt's tiny house build here:\nhttps://nutshelldesignco.weebly.com/\n\nThe house has a luxurious tiled bathroom with an open shower, a living wall, and heated floors. A minimalist retro kitchen with custom made cabinets, a vintage-style fridge, and a '50s diner inspired table. A cozy living room with a trifold sofa bed, a standing wall shelving unit, woven wallpaper, and a designer lamp. And upstairs, the loft is a bright and airy sleeping nook with an operable skylight, storage shelves, and a stained glass window for extra air flow. The exterior has a bump out shed with space for the propane on demand water heater, the water filtration system, the electrical panel, and extra storage for things like camping gear.\n\nMatt spent a lot of time thinking about the lighting and ventilation in the house. He built and installed 7 clerestory windows along the top of the roofline to bring in lots of natural light, and he also built two casement windows on the main level, and installed an operable skylight in the loft to allow hot air to vent out through the roof in the summer.\n\nHe also included unique lights including a handmade Japanese-inspired lantern, a designer counterweighted light, and a Turkish goat-skin drum light.\n\nEvery single corner of this micro home has something special about it, and you can tell it was built with a lot of love, care and skill.\n\nThis tiny house is currently for sale on Vancouver Island and you can find out more about it on Matt's website here:\nhttps://nutshelldesignco.weebly.com/\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Lukáš Hyrman\nhttps://www.instagram.com/kashframes \n\nBuild photos provided by: Matt Fattori\nhttps://nutshelldesignco.weebly.com/ \n\n#tinyhouse #tinyhousedesign #tinyhome", "*One of a Kind* Tiny House Built with Special Interior Details & Design – FULL TOUR", 1159, false, "M--AC9F15Ts", "https://www.youtube.com/watch?v=M--AC9F15Ts", "/downloads/Exploring Alternatives/*One of a Kind* Tiny House Built with Special Interior Details & Design – FULL TOUR/*One of a Kind* Tiny House Built with Special Interior Details & Design – FULL TOUR [M--AC9F15Ts].mp4", false, 9, ~U[2026-01-12 19:35:45Z]] 12:37:25.202 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=57.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:25.204 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=14.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:37:25.205 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=15.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [16563] 12:37:25.206 [debug] Current batch of media processed. Will check again in 1000ms 12:37:26.207 [debug] Current batch of media processed. Will check again in 1000ms 12:37:27.208 [debug] Current batch of media processed. Will check again in 1000ms 12:37:28.209 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Michelle & Brendan met online as they were approaching their 50's, and realized they shared a dream of living closer to the land, so they decided to build a tiny house together and move it from the UK to Ireland where they could afford to buy land to park it. It has been 3 years now, and they have transformed their land into a stunning homestead. They've planted thousands of trees, dug a DIY pond that is now full of tadpoles, planted an orchard and fruit bushes, built a covered porch and shed, set up a poly tunnel greenhouse, and they are working on building raised beds with recycled pallets. On top of all that, they've also started a YouTube channel where they document all of the ups and downs of their adventures in alternative living: The Off-Grid Ireland Dream.\n\nYou can follow and find out more about Michelle & Brendan's off-grid tiny house homestead here:\nhttps://www.youtube.com/@TheOffGridIrelandDream\nhttps://www.facebook.com/profile.php?id=61571179161483 \n\nTheir tiny house is only 135 square feet and includes a well organized kitchen with custom-built storage so that everything has it's place, and a table that looks out over their land through a big picture window. They have a cabin bed that they call their day bed. It's a combination of a bedroom and a lounge living room where they can watch TV and play PlayStation. They opted for no loft, no stairs, and no ladder for accessibility reasons as they age. The room has a big cozy bed, a large entertainment system, and overhead storage. The bathroom is quite tiny and has a homemade compost toilet, a shower with water heated by an on-demand LPG gas water heater.\n\nTheir off-grid systems include solar panels, an inverter and batteries, as well as a solar generator. They also have a gas generator for the greyest months in the middle of winter. For heat, they have a small diesel heater that is usually found in vans and trucks. And for water, they collect rainwater from their roof and filter it for daily use. They are in the process of upgrading the UV filtration so that they can drink the water as well. Laundry is an outdoor setup but they do also use launderettes in town, and internet is via a broadband sim card.\n\nThe couple are passionate about gardening and saving animals. They have a sweet pair of rescue cats, Marley and Daisy, and they plan to adopt some dogs, as well as rescue some battery hens and other farm animals to help with fertilizing and tilling the soil.\n\nYou can follow and find out more about Michelle & Brendan's off-grid tiny house homestead here:\nhttps://www.youtube.com/@TheOffGridIrelandDream\nhttps://www.facebook.com/profile.php?id=61571179161483 \n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Michelle and Brendan\n\n#offgrid #tinyhouse #homestead", "duration" => 1256, "filename" => "/downloads/Exploring Alternatives/Couple's AMAZING Off-Grid Homestead & SUPER SMALL Tiny House Built from Scratch – FULL TOUR/Couple's AMAZING Off-Grid Homestead & SUPER SMALL Tiny House Built from Scratch – FULL TOUR [xEhkI0xM130].mp4", "id" => "xEhkI0xM130", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xEhkI0xM130", "playlist_index" => 3, "timestamp" => 1765728917, "title" => "Couple's AMAZING Off-Grid Homestead & SUPER SMALL Tiny House Built from Scratch – FULL TOUR", "upload_date" => "20251214"} 12:37:28.210 [debug] QUERY OK source="sources" db=0.2ms idle=1557.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:37:28.210 [debug] QUERY OK source="sources" db=0.1ms idle=1558.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:28.213 [debug] QUERY OK source="media_items" db=1.9ms idle=1558.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-14 16:15:17Z], 9] 12:37:28.216 [debug] QUERY OK source="media_items" db=2.4ms idle=1066.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Michelle & Brendan met online as they were approaching their 50's, and realized they shared a dream of living closer to the land, so they decided to build a tiny house together and move it from the UK to Ireland where they could afford to buy land to park it. It has been 3 years now, and they have transformed their land into a stunning homestead. They've planted thousands of trees, dug a DIY pond that is now full of tadpoles, planted an orchard and fruit bushes, built a covered porch and shed, set up a poly tunnel greenhouse, and they are working on building raised beds with recycled pallets. On top of all that, they've also started a YouTube channel where they document all of the ups and downs of their adventures in alternative living: The Off-Grid Ireland Dream.\n\nYou can follow and find out more about Michelle & Brendan's off-grid tiny house homestead here:\nhttps://www.youtube.com/@TheOffGridIrelandDream\nhttps://www.facebook.com/profile.php?id=61571179161483 \n\nTheir tiny house is only 135 square feet and includes a well organized kitchen with custom-built storage so that everything has it's place, and a table that looks out over their land through a big picture window. They have a cabin bed that they call their day bed. It's a combination of a bedroom and a lounge living room where they can watch TV and play PlayStation. They opted for no loft, no stairs, and no ladder for accessibility reasons as they age. The room has a big cozy bed, a large entertainment system, and overhead storage. The bathroom is quite tiny and has a homemade compost toilet, a shower with water heated by an on-demand LPG gas water heater.\n\nTheir off-grid systems include solar panels, an inverter and batteries, as well as a solar generator. They also have a gas generator for the greyest months in the middle of winter. For heat, they have a small diesel heater that is usually found in vans and trucks. And for water, they collect rainwater from their roof and filter it for daily use. They are in the process of upgrading the UV filtration so that they can drink the water as well. Laundry is an outdoor setup but they do also use launderettes in town, and internet is via a broadband sim card.\n\nThe couple are passionate about gardening and saving animals. They have a sweet pair of rescue cats, Marley and Daisy, and they plan to adopt some dogs, as well as rescue some battery hens and other farm animals to help with fertilizing and tilling the soil.\n\nYou can follow and find out more about Michelle & Brendan's off-grid tiny house homestead here:\nhttps://www.youtube.com/@TheOffGridIrelandDream\nhttps://www.facebook.com/profile.php?id=61571179161483 \n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Michelle and Brendan\n\n#offgrid #tinyhouse #homestead", "Couple's AMAZING Off-Grid Homestead & SUPER SMALL Tiny House Built from Scratch – FULL TOUR", "5b1d4fff-6077-48f5-b9ff-99e90b5275af", 1256, false, "xEhkI0xM130", "https://www.youtube.com/watch?v=xEhkI0xM130", 3, "/downloads/Exploring Alternatives/Couple's AMAZING Off-Grid Homestead & SUPER SMALL Tiny House Built from Scratch – FULL TOUR/Couple's AMAZING Off-Grid Homestead & SUPER SMALL Tiny House Built from Scratch – FULL TOUR [xEhkI0xM130].mp4", false, false, false, 9, [], 98, ~U[2025-12-14 16:15:17Z], ~U[2026-02-16 12:37:28Z], ~U[2026-02-16 12:37:28Z], "Michelle & Brendan met online as they were approaching their 50's, and realized they shared a dream of living closer to the land, so they decided to build a tiny house together and move it from the UK to Ireland where they could afford to buy land to park it. It has been 3 years now, and they have transformed their land into a stunning homestead. They've planted thousands of trees, dug a DIY pond that is now full of tadpoles, planted an orchard and fruit bushes, built a covered porch and shed, set up a poly tunnel greenhouse, and they are working on building raised beds with recycled pallets. On top of all that, they've also started a YouTube channel where they document all of the ups and downs of their adventures in alternative living: The Off-Grid Ireland Dream.\n\nYou can follow and find out more about Michelle & Brendan's off-grid tiny house homestead here:\nhttps://www.youtube.com/@TheOffGridIrelandDream\nhttps://www.facebook.com/profile.php?id=61571179161483 \n\nTheir tiny house is only 135 square feet and includes a well organized kitchen with custom-built storage so that everything has it's place, and a table that looks out over their land through a big picture window. They have a cabin bed that they call their day bed. It's a combination of a bedroom and a lounge living room where they can watch TV and play PlayStation. They opted for no loft, no stairs, and no ladder for accessibility reasons as they age. The room has a big cozy bed, a large entertainment system, and overhead storage. The bathroom is quite tiny and has a homemade compost toilet, a shower with water heated by an on-demand LPG gas water heater.\n\nTheir off-grid systems include solar panels, an inverter and batteries, as well as a solar generator. They also have a gas generator for the greyest months in the middle of winter. For heat, they have a small diesel heater that is usually found in vans and trucks. And for water, they collect rainwater from their roof and filter it for daily use. They are in the process of upgrading the UV filtration so that they can drink the water as well. Laundry is an outdoor setup but they do also use launderettes in town, and internet is via a broadband sim card.\n\nThe couple are passionate about gardening and saving animals. They have a sweet pair of rescue cats, Marley and Daisy, and they plan to adopt some dogs, as well as rescue some battery hens and other farm animals to help with fertilizing and tilling the soil.\n\nYou can follow and find out more about Michelle & Brendan's off-grid tiny house homestead here:\nhttps://www.youtube.com/@TheOffGridIrelandDream\nhttps://www.facebook.com/profile.php?id=61571179161483 \n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n------------------- (truncated) 12:37:28.217 [debug] QUERY OK source="sources" db=0.4ms idle=67.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:28.217 [debug] QUERY OK source="media_profiles" db=0.3ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:37:28.218 [debug] QUERY OK source="media_items" db=0.4ms idle=7.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [16564] 12:37:28.218 [debug] Current batch of media processed. Will check again in 1000ms 12:37:29.219 [debug] Current batch of media processed. Will check again in 1000ms 12:37:30.220 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Ugly Truckling is an absolutely INCREDIBLE house truck that was hand built by a woman named Kai in British Columbia, Canada over the course of many years. She is a carpenter and an artist, so she did all of the design, the woodwork, the framing and cabinetry, the floor panelling, the shakes, the doors, etc. while her husband, Ben, worked on the systems for electricity and gas, and he also does any mechanical maintenance work needed on the truck itself. Kai and Ben been living in the house truck full time in the woods of British Columbia, Canada (along with their cat Opie!) for almost 8 years now!\n\nYou can follow and find out more about The Ugly Truckling here:\nhttps://www.instagram.com/the_ugly_truckling/ \nhttps://www.tiktok.com/@the_ugly_truckling\nhttps://www.youtube.com/@theuglytruckling\n\nThe 200 square foot house truck is built on a 1992 International 4900 with a DT466 diesel engine – which is non electronic so it's super reliable and runs like a tank. It used to be a linen delivery vehicle before she bought it for $4,000 CAD. She had a custom flat deck fabricated for the truck and steel vertical supports welded onto the truck to create the frame for the house. Then she finished it all in wood, using red cedar driftwood for the shakes on upper half, and cedar board and batten on the lower half. In total she figures she's spent approx. $50,000 CAD on the project (not including her labour to build it all).\n\nKai and Ben are super creative and innovative and they came up with loads of great ways to build a unique home. They've used mostly reclaimed and salvaged materials, like wood from old train boxcars, antique brass door handles and light switches, thrifted light fixtures, wooden windows, porthole windows, and more!\n\nThe house truck has a cozy living room with a built-in sofa that slides out to convert into a guest bed with loads of hidden storage for shoes and gear built into it. Across from the couch is a small wood stove and an area that will eventually become a bookshelf and coat closet. There's also a massive round window brings in a ton of natural light into the house, and out the back door there is a built in deck that goes with them wherever they go!\n\nThe kitchen is a stunning masterpiece of cabinetry that Kai built using locally sourced wood from trees native to BC, like alder, maple, and cedar. She built the drawers with a special notch at the base so that they \"lock\" into place without any special hardware. This keeps all the drawers safely stowed even when they're driving down the road. They have a 2-way gas and electric fridge, and will soon install a propane stove and oven (they've been using a camp stove and toaster oven for the past 7 years). They have a cozy little dinette with built in storage as well!\n\nA little closer to the front of the truck is a walkthrough bathroom with a composting toilet on the left, and a shower stall on the left that is made from half of an old wine barrel and serves as a small soaker tub that you can sit in.\n\nAnd finally, up the ladder, you find the cozy loft that sits above the cab of the truck and features a lovely porthole window that Ben salvaged from a shipwreck as a gift for Kai.\n\nKai was inspired to build a magical tiny home on wheels after finding books from the 1970s about rolling homes, as well as books by Lloyd Kahn like Shelter and Homework. The Ugly Truckling is actually featured in his latest book, Rolling Homes! You can check it out here:\nhttps://shop.adventurewithkeen.com/shelter-publications/ \n\nYou can also follow and find out more about The Ugly Truckling here:\nhttps://www.instagram.com/the_ugly_truckling/ \nhttps://www.tiktok.com/@the_ugly_truckling\nhttps://www.youtube.com/@theuglytruckling\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n------------------------------" <> ..., "duration" => 1535, "filename" => "/downloads/Exploring Alternatives/Couple Living in a Spectacular Self-Built Tiny House Truck for 8 Years – FULL TOUR/Couple Living in a Spectacular Self-Built Tiny House Truck for 8 Years – FULL TOUR [onqPvEFnFHE].mp4", "id" => "onqPvEFnFHE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=onqPvEFnFHE", "playlist_index" => 4, "timestamp" => 1764513161, "title" => "Couple Living in a Spectacular Self-Built Tiny House Truck for 8 Years – FULL TOUR", "upload_date" => "20251130"} 12:37:30.221 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=569.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:37:30.222 [debug] QUERY OK source="sources" db=0.2ms idle=569.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:30.226 [debug] QUERY OK source="media_items" db=3.3ms idle=570.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-30 14:32:41Z], 9] 12:37:30.232 [debug] QUERY OK source="media_items" db=4.6ms idle=574.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Ugly Truckling is an absolutely INCREDIBLE house truck that was hand built by a woman named Kai in British Columbia, Canada over the course of many years. She is a carpenter and an artist, so she did all of the design, the woodwork, the framing and cabinetry, the floor panelling, the shakes, the doors, etc. while her husband, Ben, worked on the systems for electricity and gas, and he also does any mechanical maintenance work needed on the truck itself. Kai and Ben been living in the house truck full time in the woods of British Columbia, Canada (along with their cat Opie!) for almost 8 years now!\n\nYou can follow and find out more about The Ugly Truckling here:\nhttps://www.instagram.com/the_ugly_truckling/ \nhttps://www.tiktok.com/@the_ugly_truckling\nhttps://www.youtube.com/@theuglytruckling\n\nThe 200 square foot house truck is built on a 1992 International 4900 with a DT466 diesel engine – which is non electronic so it's super reliable and runs like a tank. It used to be a linen delivery vehicle before she bought it for $4,000 CAD. She had a custom flat deck fabricated for the truck and steel vertical supports welded onto the truck to create the frame for the house. Then she finished it all in wood, using red cedar driftwood for the shakes on upper half, and cedar board and batten on the lower half. In total she figures she's spent approx. $50,000 CAD on the project (not including her labour to build it all).\n\nKai and Ben are super creative and innovative and they came up with loads of great ways to build a unique home. They've used mostly reclaimed and salvaged materials, like wood from old train boxcars, antique brass door handles and light switches, thrifted light fixtures, wooden windows, porthole windows, and more!\n\nThe house truck has a cozy living room with a built-in sofa that slides out to convert into a guest bed with loads of hidden storage for shoes and gear built into it. Across from the couch is a small wood stove and an area that will eventually become a bookshelf and coat closet. There's also a massive round window brings in a ton of natural light into the house, and out the back door there is a built in deck that goes with them wherever they go!\n\nThe kitchen is a stunning masterpiece of cabinetry that Kai built using locally sourced wood from trees native to BC, like alder, maple, and cedar. She built the drawers with a special notch at the base so that they \"lock\" into place without any special hardware. This keeps all the drawers safely stowed even when they're driving down the road. They have a 2-way gas and electric fridge, and will soon install a propane stove and oven (they've been using a camp stove and toaster oven for the past 7 years). They have a cozy little dinette with built in storage as well!\n\nA little closer to the front of the truck is a walkthrough bathroom with a composting toilet on the left, and a shower stall on the left that is made from half of an old wine barrel and serves as a small soaker tub that you can sit in.\n\nAnd finally, up the ladder, you find the cozy loft that sits above the cab of the truck and features a lovely porthole window that Ben salvaged from a shipwreck as a gift for Kai.\n\nKai was inspired to build a magical tiny home on wheels after finding books from the 1970s about rolling homes, as well as books by Lloyd Kahn like Shelter and Homework. The Ugly Truckling is actually featured in his latest book, Rolling Homes! You can check it out here:\nhttps://shop.adventurewithkeen.com/shelter-publications/ \n\nYou can also follow and find out more about The Ugly Truckling here:\nhttps://www.instagram.com/the_ugly_truckling/ \nhttps://www.tiktok.com/@the_ugly_truckling\nhttps://www.youtube.com/@theuglytruckling\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n------------------------------" <> ..., "Couple Living in a Spectacular Self-Built Tiny House Truck for 8 Years – FULL TOUR", "a0c73e61-0a97-479f-bdaf-83d24f5bce83", 1535, false, "onqPvEFnFHE", "https://www.youtube.com/watch?v=onqPvEFnFHE", 4, "/downloads/Exploring Alternatives/Couple Living in a Spectacular Self-Built Tiny House Truck for 8 Years – FULL TOUR/Couple Living in a Spectacular Self-Built Tiny House Truck for 8 Years – FULL TOUR [onqPvEFnFHE].mp4", false, false, false, 9, [], 98, ~U[2025-11-30 14:32:41Z], ~U[2026-02-16 12:37:30Z], ~U[2026-02-16 12:37:30Z], "The Ugly Truckling is an absolutely INCREDIBLE house truck that was hand built by a woman named Kai in British Columbia, Canada over the course of many years. She is a carpenter and an artist, so she did all of the design, the woodwork, the framing and cabinetry, the floor panelling, the shakes, the doors, etc. while her husband, Ben, worked on the systems for electricity and gas, and he also does any mechanical maintenance work needed on the truck itself. Kai and Ben been living in the house truck full time in the woods of British Columbia, Canada (along with their cat Opie!) for almost 8 years now!\n\nYou can follow and find out more about The Ugly Truckling here:\nhttps://www.instagram.com/the_ugly_truckling/ \nhttps://www.tiktok.com/@the_ugly_truckling\nhttps://www.youtube.com/@theuglytruckling\n\nThe 200 square foot house truck is built on a 1992 International 4900 with a DT466 diesel engine – which is non electronic so it's super reliable and runs like a tank. It used to be a linen delivery vehicle before she bought it for $4,000 CAD. She had a custom flat deck fabricated for the truck and steel vertical supports welded onto the truck to create the frame for the house. Then she finished it all in wood, using red cedar driftwood for the shakes on upper half, and cedar board and batten on the lower half. In total she figures she's spent approx. $50,000 CAD on the project (not including her labour to build it all).\n\nKai and Ben are super creative and innovative and they came up with loads of great ways to build a unique home. They've used mostly reclaimed and salvaged materials, like wood from old train boxcars, antique brass door handles and light switches, thrifted light fixtures, wooden windows, porthole windows, and more!\n\nThe house truck has a cozy living room with a built-in sofa that slides out to convert into a guest bed with loads of hidden storage for shoes and gear built into it. Across from the couch is a small wood stove and an area that will eventually become a bookshelf and coat closet. There's also a massive round window brings in a ton of natural light into the house, and out the back door there is a built in deck that goes with them wherever they go!\n\nThe kitchen is a stunning masterpiece of cabinetry that Kai built using locally sourced wood from trees native to BC, like alder, maple, and cedar. She built the drawers with a special notch at the base so that they \"lock\" into place without any special hardware. This keeps all the drawers safely stowed even when they're driving down the road. They have a 2-way gas and electric fridge, and will soon install a propane stove and oven (they've been using a cam (truncated) 12:37:30.233 [debug] QUERY OK source="sources" db=0.4ms idle=79.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:30.234 [debug] QUERY OK source="media_profiles" db=0.3ms idle=12.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:37:30.235 [debug] QUERY OK source="media_items" db=0.5ms idle=12.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 [16565] 12:37:30.235 [debug] Current batch of media processed. Will check again in 1000ms 12:37:31.236 [debug] Current batch of media processed. Will check again in 1000ms 12:37:32.238 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video we show you how a tiny house is built, from start to finish, in a local factory. They have 8 tiny houses on the go at any given time, with each house at a different stage of completion, so you can easily see each step of the construction process all in one place.\n\nWe thought it would be interesting to get a behind the scenes look at how they’re built, and Mint Tiny House was nice enough to give us a tour of their factory so we could show you how it all works. It’s pretty cool to see it go from a trailer to a fully finished tiny house so stay tuned! \n\nYou can follow and find out more about Mint Tiny House Company here:\nhttps://www.minttinyhouse.com/\nhttps://www.instagram.com/minttinyhouse\nhttps://www.youtube.com/@MintTinyHouseCompany\n\n- Bay 1 is where they do all the sub flooring and where the walls start to go up. Everything begins from the trailer and then they start building from the ground up. The walls are built with 2x4 construction, just like a traditional house, which gives the tiny home strength and durability. From there, the team frames the lofts and the roof, while the electrical and plumbing systems start being carefully installed to ensure everything will work perfectly.\n\n- Bay 2 is where all the walls and interiors are being done, the roof framing has gone in and everything starts coming together. One of the exciting things that happens here is when the framed roof is lifted into place on top of the tiny house – always a cool and impressive thing to watch!\n\n- Bay 3 is where pre-siding and windows are installed. This is where the building envelope starts to close up to seal and protect the house from the elements and to make it a comfortable space to live in year round. The house is insulated with spray foam insulation that hardens on contact and further strengthens the entire structure of the tiny house frame and walls. Then they install the sheathing, vapour barrier, and Tyvek, as well as the windows. \n\n- Bay 4 is where the exterior siding is installed and the painting in the interior starts going.\nThe most common types of siding they use are board and batten, or metal siding.\n\n- Bay 5 is where all the electrical and plumbing is done and the kitchen installation happens.\nSo the kitchen cabinets, countertops, and appliances like the fridge and stove are being put in place. \n\n- Bay 6 is where the roof goes up and gets completed, and the custom interiors are done.\n\n- Bay 7 is where everything is looking like it’s almost done. But this is where all the finishings on the interior and exterior are done. Things like installing baseboards, adding the last coat of paint, and putting up light fixtures. \n\n- Bay 8 is the final stop before the tiny homes head out to their new owners! Here, it’s all about testing and quality control. The QC team checks everything — from ensuring that all the appliances are functioning perfectly to inspecting the plumbing and electrical systems. They even take a close look at the finishes, making sure every detail is spot on. It’s like a final wellness check for the home, guaranteeing that everything is just right before it hits the road.\n\nThank you for touring the Mint Tiny House factory with us! And thank you to Farai and the whole team at Mint, both in the office and in the shop, for sharing your work with us and for being part of this project! You all do incredible work! \n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate resp" <> ..., "duration" => 543, "filename" => "/downloads/Exploring Alternatives/Exclusive Tiny House Factory Tour – How a Tiny House is Built from Start to Finish/Exclusive Tiny House Factory Tour – How a Tiny House is Built from Start to Finish [z76AwKohJrE].mp4", "id" => "z76AwKohJrE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=z76AwKohJrE", "playlist_index" => 5, "timestamp" => 1762725358, "title" => "Exclusive Tiny House Factory Tour – How a Tiny House is Built from Start to Finish", "upload_date" => "20251109"} 12:37:32.239 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=586.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:37:32.241 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=588.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:32.247 [debug] QUERY OK source="media_items" db=4.8ms idle=589.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-09 21:55:58Z], 9] 12:37:32.255 [debug] QUERY OK source="media_items" db=5.8ms queue=0.1ms idle=595.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video we show you how a tiny house is built, from start to finish, in a local factory. They have 8 tiny houses on the go at any given time, with each house at a different stage of completion, so you can easily see each step of the construction process all in one place.\n\nWe thought it would be interesting to get a behind the scenes look at how they’re built, and Mint Tiny House was nice enough to give us a tour of their factory so we could show you how it all works. It’s pretty cool to see it go from a trailer to a fully finished tiny house so stay tuned! \n\nYou can follow and find out more about Mint Tiny House Company here:\nhttps://www.minttinyhouse.com/\nhttps://www.instagram.com/minttinyhouse\nhttps://www.youtube.com/@MintTinyHouseCompany\n\n- Bay 1 is where they do all the sub flooring and where the walls start to go up. Everything begins from the trailer and then they start building from the ground up. The walls are built with 2x4 construction, just like a traditional house, which gives the tiny home strength and durability. From there, the team frames the lofts and the roof, while the electrical and plumbing systems start being carefully installed to ensure everything will work perfectly.\n\n- Bay 2 is where all the walls and interiors are being done, the roof framing has gone in and everything starts coming together. One of the exciting things that happens here is when the framed roof is lifted into place on top of the tiny house – always a cool and impressive thing to watch!\n\n- Bay 3 is where pre-siding and windows are installed. This is where the building envelope starts to close up to seal and protect the house from the elements and to make it a comfortable space to live in year round. The house is insulated with spray foam insulation that hardens on contact and further strengthens the entire structure of the tiny house frame and walls. Then they install the sheathing, vapour barrier, and Tyvek, as well as the windows. \n\n- Bay 4 is where the exterior siding is installed and the painting in the interior starts going.\nThe most common types of siding they use are board and batten, or metal siding.\n\n- Bay 5 is where all the electrical and plumbing is done and the kitchen installation happens.\nSo the kitchen cabinets, countertops, and appliances like the fridge and stove are being put in place. \n\n- Bay 6 is where the roof goes up and gets completed, and the custom interiors are done.\n\n- Bay 7 is where everything is looking like it’s almost done. But this is where all the finishings on the interior and exterior are done. Things like installing baseboards, adding the last coat of paint, and putting up light fixtures. \n\n- Bay 8 is the final stop before the tiny homes head out to their new owners! Here, it’s all about testing and quality control. The QC team checks everything — from ensuring that all the appliances are functioning perfectly to inspecting the plumbing and electrical systems. They even take a close look at the finishes, making sure every detail is spot on. It’s like a final wellness check for the home, guaranteeing that everything is just right before it hits the road.\n\nThank you for touring the Mint Tiny House factory with us! And thank you to Farai and the whole team at Mint, both in the office and in the shop, for sharing your work with us and for being part of this project! You all do incredible work! \n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate resp" <> ..., "Exclusive Tiny House Factory Tour – How a Tiny House is Built from Start to Finish", "0e10725e-7aab-4be5-8384-8877946ae94a", 543, false, "z76AwKohJrE", "https://www.youtube.com/watch?v=z76AwKohJrE", 5, "/downloads/Exploring Alternatives/Exclusive Tiny House Factory Tour – How a Tiny House is Built from Start to Finish/Exclusive Tiny House Factory Tour – How a Tiny House is Built from Start to Finish [z76AwKohJrE].mp4", false, false, false, 9, [], 98, ~U[2025-11-09 21:55:58Z], ~U[2026-02-16 12:37:32Z], ~U[2026-02-16 12:37:32Z], "In this video we show you how a tiny house is built, from start to finish, in a local factory. They have 8 tiny houses on the go at any given time, with each house at a different stage of completion, so you can easily see each step of the construction process all in one place.\n\nWe thought it would be interesting to get a behind the scenes look at how they’re built, and Mint Tiny House was nice enough to give us a tour of their factory so we could show you how it all works. It’s pretty cool to see it go from a trailer to a fully finished tiny house so stay tuned! \n\nYou can follow and find out more about Mint Tiny House Company here:\nhttps://www.minttinyhouse.com/\nhttps://www.instagram.com/minttinyhouse\nhttps://www.youtube.com/@MintTinyHouseCompany\n\n- Bay 1 is where they do all the sub flooring and where the walls start to go up. Everything begins from the trailer and then they start building from the ground up. The walls are built with 2x4 construction, just like a traditional house, which gives the tiny home strength and durability. From there, the team frames the lofts and the roof, while the electrical and plumbing systems start being carefully installed to ensure everything will work perfectly.\n\n- Bay 2 is where all the walls and interiors are being done, the roof framing has gone in and everything starts coming together. One of the exciting things that happens here is when the framed roof is lifted into place on top of the tiny house – always a cool and impressive thing to watch!\n\n- Bay 3 is where pre-siding and windows are installed. This is where the building envelope starts to close up to seal and protect the house from the elements and to make it a comfortable space to live in year round. The house is insulated with spray foam insulation that hardens on contact and further strengthens the entire structure of the tiny house frame and walls. Then they install the sheathing, vapour barrier, and Tyvek, as well as the windows. \n\n- Bay 4 is where the exterior siding is installed and the painting in the interior starts going.\nThe most common types of siding they use are board and batten, or metal siding.\n\n- Bay 5 is where all the electrical and plumbing is done and the kitchen installation happens.\nSo the kitchen cabinets, countertops, and appliances like the fridge and stove are being put in place. \n\n- Bay 6 is where the roof goes up and gets completed, and the custom interiors are done.\n\n- Bay 7 is where everything is looking like it’s almost done. But this is where all the finishings on the interior and exterior are done. Things like installing baseboards, adding the last c (truncated) 12:37:32.257 [debug] QUERY OK source="sources" db=2.0ms queue=0.1ms idle=100.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:32.259 [debug] QUERY OK source="media_profiles" db=1.2ms idle=18.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:37:32.261 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=18.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [16566] 12:37:32.262 [debug] Current batch of media processed. Will check again in 1000ms 12:37:33.096 [info] {"source":"oban","duration":2174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:33.263 [debug] Current batch of media processed. Will check again in 1000ms 12:37:34.264 [debug] Current batch of media processed. Will check again in 1000ms 12:37:35.266 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Tim Coertze has been living off-grid on a remote island in the Straight of Georgia (in Canada) for 18 years. He is solo building his own retirement home using local materials from his own land, like rock, sand, and wood, as well as concrete for the foundation, rockwool for the insulation and tin for the roof. He generates electricity with solar panels, he collects rainwater from his roof, he heats his home with firewood that he cuts down himself, and burns it in three different wood stoves: a monolithic masonry stove, a cast iron wood stove, or a rocket stove under his bathtub. He also grows a lot of his own fruits and vegetables, sprouts seeds, bakes bread, and is raising a pair of Thai river water buffalo for milk.\n\nYou can follow Tim on his new YouTube channel here:\nhttps://www.youtube.com/@timcoertze \n\nThe island where Tim lives is completely off-grid, and can only be accessed by a pedestrian ferry (there is no car ferry), which makes it difficult to bring materials onto the island unless you can do it by barge, which is very expensive. There is a community on the island so Tim finds that he can barter and trade with folks on the island for most of his needs, but he does go to town off island every couple of months to get groceries like coffee.\n\nHe does use propane to heat hot water and to cook when his wood stove is damped down, or when the wildfire risk is too high to burn a fire.\n\nTim is a thoughtful and talented creative builder who has done a ton of research into alternative building methods and systems from around the world, while focusing on using local materials, skills, and items for his projects.\n\nOne of his first jobs in the '80s was working at sea, where he saw floating garbage islands that forever changed the course of his life. This led him to resign from his job and to seek out a remote and clean place where he could have a family, and live closer to the land. He has been growing his own food and processing his own firewood for 40 years, and he now has grandchildren, so he managed to make his dreams a reality. \n\nBut the experience of seeing those garbage islands never left him, and he has made an effort to manage his own waste on his land. He keeps all of the garbage that he creates and sequesters it in the walls of his outbuildings, where they will be enclosed in concrete or plaster. This reduces the energy needed to transport the garbage off the island and to a dump or recycling plant where only a fraction of the items will be recycled. He has also repurposed the tires from his island truck as the chamber for his composting toilet. He has managed to sequester 7 years of garbage in the walls of his solar panel shed.\n\nHe is not yet retired, and still works as a roofer, although he is hoping to spend less time doing the heavy work and more time managing crews moving forward. He also plans to slowly complete his house with trim, paint, etc. and spend more time growing food once the house is complete.\n\nThis off-grid lifestyle can be challenging but Tim appreciates the silence, the satisfaction of being self sufficient, and the connection to the environment that allows him to appreciate the sun, the rain, and the plants around him.\n\nA big thank you to Tim for sharing his story with us!\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n------------------------------------------------------" <> ..., "duration" => 1973, "filename" => "/downloads/Exploring Alternatives/18 Years Living Off-Grid on a Remote Island in a Solo-Built House & Homestead/18 Years Living Off-Grid on a Remote Island in a Solo-Built House & Homestead [PEKbJ-_gtoM].mp4", "id" => "PEKbJ-_gtoM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=PEKbJ-_gtoM", "playlist_index" => 6, "timestamp" => 1760904534, "title" => "18 Years Living Off-Grid on a Remote Island in a Solo-Built House & Homestead", "upload_date" => "20251019"} 12:37:35.267 [debug] QUERY OK source="sources" db=0.7ms idle=1614.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:37:35.269 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1616.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:35.274 [debug] QUERY OK source="media_items" db=4.2ms idle=1110.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-19 20:08:54Z], 9] 12:37:35.282 [debug] QUERY OK source="media_items" db=5.6ms queue=0.1ms idle=622.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Tim Coertze has been living off-grid on a remote island in the Straight of Georgia (in Canada) for 18 years. He is solo building his own retirement home using local materials from his own land, like rock, sand, and wood, as well as concrete for the foundation, rockwool for the insulation and tin for the roof. He generates electricity with solar panels, he collects rainwater from his roof, he heats his home with firewood that he cuts down himself, and burns it in three different wood stoves: a monolithic masonry stove, a cast iron wood stove, or a rocket stove under his bathtub. He also grows a lot of his own fruits and vegetables, sprouts seeds, bakes bread, and is raising a pair of Thai river water buffalo for milk.\n\nYou can follow Tim on his new YouTube channel here:\nhttps://www.youtube.com/@timcoertze \n\nThe island where Tim lives is completely off-grid, and can only be accessed by a pedestrian ferry (there is no car ferry), which makes it difficult to bring materials onto the island unless you can do it by barge, which is very expensive. There is a community on the island so Tim finds that he can barter and trade with folks on the island for most of his needs, but he does go to town off island every couple of months to get groceries like coffee.\n\nHe does use propane to heat hot water and to cook when his wood stove is damped down, or when the wildfire risk is too high to burn a fire.\n\nTim is a thoughtful and talented creative builder who has done a ton of research into alternative building methods and systems from around the world, while focusing on using local materials, skills, and items for his projects.\n\nOne of his first jobs in the '80s was working at sea, where he saw floating garbage islands that forever changed the course of his life. This led him to resign from his job and to seek out a remote and clean place where he could have a family, and live closer to the land. He has been growing his own food and processing his own firewood for 40 years, and he now has grandchildren, so he managed to make his dreams a reality. \n\nBut the experience of seeing those garbage islands never left him, and he has made an effort to manage his own waste on his land. He keeps all of the garbage that he creates and sequesters it in the walls of his outbuildings, where they will be enclosed in concrete or plaster. This reduces the energy needed to transport the garbage off the island and to a dump or recycling plant where only a fraction of the items will be recycled. He has also repurposed the tires from his island truck as the chamber for his composting toilet. He has managed to sequester 7 years of garbage in the walls of his solar panel shed.\n\nHe is not yet retired, and still works as a roofer, although he is hoping to spend less time doing the heavy work and more time managing crews moving forward. He also plans to slowly complete his house with trim, paint, etc. and spend more time growing food once the house is complete.\n\nThis off-grid lifestyle can be challenging but Tim appreciates the silence, the satisfaction of being self sufficient, and the connection to the environment that allows him to appreciate the sun, the rain, and the plants around him.\n\nA big thank you to Tim for sharing his story with us!\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n------------------------------------------------------" <> ..., "18 Years Living Off-Grid on a Remote Island in a Solo-Built House & Homestead", "2f34c263-b871-477e-8e9f-1e11c4d4f0a5", 1973, false, "PEKbJ-_gtoM", "https://www.youtube.com/watch?v=PEKbJ-_gtoM", 6, "/downloads/Exploring Alternatives/18 Years Living Off-Grid on a Remote Island in a Solo-Built House & Homestead/18 Years Living Off-Grid on a Remote Island in a Solo-Built House & Homestead [PEKbJ-_gtoM].mp4", false, false, false, 9, [], 98, ~U[2025-10-19 20:08:54Z], ~U[2026-02-16 12:37:35Z], ~U[2026-02-16 12:37:35Z], "Tim Coertze has been living off-grid on a remote island in the Straight of Georgia (in Canada) for 18 years. He is solo building his own retirement home using local materials from his own land, like rock, sand, and wood, as well as concrete for the foundation, rockwool for the insulation and tin for the roof. He generates electricity with solar panels, he collects rainwater from his roof, he heats his home with firewood that he cuts down himself, and burns it in three different wood stoves: a monolithic masonry stove, a cast iron wood stove, or a rocket stove under his bathtub. He also grows a lot of his own fruits and vegetables, sprouts seeds, bakes bread, and is raising a pair of Thai river water buffalo for milk.\n\nYou can follow Tim on his new YouTube channel here:\nhttps://www.youtube.com/@timcoertze \n\nThe island where Tim lives is completely off-grid, and can only be accessed by a pedestrian ferry (there is no car ferry), which makes it difficult to bring materials onto the island unless you can do it by barge, which is very expensive. There is a community on the island so Tim finds that he can barter and trade with folks on the island for most of his needs, but he does go to town off island every couple of months to get groceries like coffee.\n\nHe does use propane to heat hot water and to cook when his wood stove is damped down, or when the wildfire risk is too high to burn a fire.\n\nTim is a thoughtful and talented creative builder who has done a ton of research into alternative building methods and systems from around the world, while focusing on using local materials, skills, and items for his projects.\n\nOne of his first jobs in the '80s was working at sea, where he saw floating garbage islands that forever changed the course of his life. This led him to resign from his job and to seek out a remote and clean place where he could have a family, and live closer to the land. He has been growing his own food and processing his own firewood for 40 years, and he now has grandchildren, so he managed to make his dreams a reality. \n\nBut the experience of seeing those garbage islands never left him, and he has made an effort to manage his own waste on his land. He keeps all of the garbage that he creates and sequesters it in the walls of his outbuildings, where they will be enclosed in concrete or plaster. This reduces the energy needed to transport the garbage off the island and to a dump or recycling plant where only a fraction of the items will be recycled. He has also repurposed the tires from his island truck as the chamber for his composting toilet. He has managed to sequester 7 years of garbage in the walls of his solar panel shed (truncated) 12:37:35.283 [debug] QUERY OK source="sources" db=1.1ms idle=121.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:35.285 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=16.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:37:35.287 [debug] QUERY OK source="media_items" db=1.1ms idle=17.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [16567] 12:37:35.288 [debug] Current batch of media processed. Will check again in 1000ms 12:37:36.289 [debug] Current batch of media processed. Will check again in 1000ms 12:37:37.290 [debug] Current batch of media processed. Will check again in 1000ms 12:37:38.292 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Thicket tiny house was built by Rewild Homes in BC, Canada with a 10-foot extra-wide design that makes for a spacious tiny house with a main floor bedroom (no stairs, no lofts in the middle of the night!), a pass through bathroom with a massive shower and combo washer/dryer, an L-shaped kitchen with full-size appliances, a dining room table for two, and a cozy living room with a fireplace. This tiny house is built with beautiful and durable materials including pine, hemlock, cedar, and fir woods, a locally made trailer, and standing seam metal siding and roofing.\n\nYou can follow and find out more about Rewild Homes here:\nhttps://www.instagram.com/rewildhomes\nhttps://www.facebook.com/rewildhomes\nhttps://www.rewildhomes.com/\n\nThe house is bathed in natural light with french doors, awning windows, and transom windows – all strategically placed to make it feel bright, airy, and ventilated inside the home while also maintaining some privacy and avoiding the higher cost of skylights.\n\nThis THOW (tiny house on wheels) also has loads of storage including ample cabinetry in the kitchen, storage for linens and towels in the bathroom, closets in the bedroom, and a storage loft that is accessible via a ladder in the bedroom.\n\nRewild Homes started after owners Jess and Pat built their own tiny house back in 2012 and subsequently decided to start building tiny homes for others. They have since built over 70 homes! \n\nThe Thicket is a show home that allowed them to make fun design choices that they wanted to try, like dramatic forest green cabinetry in the kitchen, a luxurious spa-like bathroom, and a main floor bedroom with it's own private entrance and deck. This home will eventually become a long-term rental for someone on Vancouver Island.\n\nThe tiny house is an easy plug and play unit with simple hookups including a potable garden hose connection for water, a septic connection for waste, a 50-amp twist lock RV style power connection for electricity, and propane connections for the on demand hot water heater and off-grid stove and oven. The shed style sloped roof also makes it easy to install gutters on one side of the house for rainwater collection.\n\nWe hope you enjoyed a tour of this beautiful tiny house on wheels! \n\nYou can follow and find out more about Rewild Homes in Cobble Hill, BC, Canada here:\nhttps://www.instagram.com/rewildhomes\nhttps://www.facebook.com/rewildhomes\nhttps://www.rewildhomes.com/\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Alex Harris\nhttps://www.instagram.com/alexrooted/\n\nAdditional photos provided by Jess from Rewild Homes\n\n#tinyhouse #tinyhousetour #tinyhouses", "duration" => 1014, "filename" => "/downloads/Exploring Alternatives/Comfortable Tiny House with Flexible Open Concept Design & Main Floor Bedroom – FULL TOUR/Comfortable Tiny House with Flexible Open Concept Design & Main Floor Bedroom – FULL TOUR [kzTmmZ7oVSs].mp4", "id" => "kzTmmZ7oVSs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kzTmmZ7oVSs", "playlist_index" => 7, "timestamp" => 1758911995, "title" => "Comfortable Tiny House with Flexible Open Concept Design & Main Floor Bedroom – FULL TOUR", "upload_date" => "20250926"} 12:37:38.293 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1640.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:37:38.295 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=1641.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:38.301 [debug] QUERY OK source="media_items" db=4.6ms queue=0.7ms idle=1643.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-26 18:39:55Z], 9] 12:37:38.330 [debug] QUERY OK source="media_items" db=27.8ms idle=1136.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Thicket tiny house was built by Rewild Homes in BC, Canada with a 10-foot extra-wide design that makes for a spacious tiny house with a main floor bedroom (no stairs, no lofts in the middle of the night!), a pass through bathroom with a massive shower and combo washer/dryer, an L-shaped kitchen with full-size appliances, a dining room table for two, and a cozy living room with a fireplace. This tiny house is built with beautiful and durable materials including pine, hemlock, cedar, and fir woods, a locally made trailer, and standing seam metal siding and roofing.\n\nYou can follow and find out more about Rewild Homes here:\nhttps://www.instagram.com/rewildhomes\nhttps://www.facebook.com/rewildhomes\nhttps://www.rewildhomes.com/\n\nThe house is bathed in natural light with french doors, awning windows, and transom windows – all strategically placed to make it feel bright, airy, and ventilated inside the home while also maintaining some privacy and avoiding the higher cost of skylights.\n\nThis THOW (tiny house on wheels) also has loads of storage including ample cabinetry in the kitchen, storage for linens and towels in the bathroom, closets in the bedroom, and a storage loft that is accessible via a ladder in the bedroom.\n\nRewild Homes started after owners Jess and Pat built their own tiny house back in 2012 and subsequently decided to start building tiny homes for others. They have since built over 70 homes! \n\nThe Thicket is a show home that allowed them to make fun design choices that they wanted to try, like dramatic forest green cabinetry in the kitchen, a luxurious spa-like bathroom, and a main floor bedroom with it's own private entrance and deck. This home will eventually become a long-term rental for someone on Vancouver Island.\n\nThe tiny house is an easy plug and play unit with simple hookups including a potable garden hose connection for water, a septic connection for waste, a 50-amp twist lock RV style power connection for electricity, and propane connections for the on demand hot water heater and off-grid stove and oven. The shed style sloped roof also makes it easy to install gutters on one side of the house for rainwater collection.\n\nWe hope you enjoyed a tour of this beautiful tiny house on wheels! \n\nYou can follow and find out more about Rewild Homes in Cobble Hill, BC, Canada here:\nhttps://www.instagram.com/rewildhomes\nhttps://www.facebook.com/rewildhomes\nhttps://www.rewildhomes.com/\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Alex Harris\nhttps://www.instagram.com/alexrooted/\n\nAdditional photos provided by Jess from Rewild Homes\n\n#tinyhouse #tinyhousetour #tinyhouses", "Comfortable Tiny House with Flexible Open Concept Design & Main Floor Bedroom – FULL TOUR", "e25e7fef-fa66-4de3-ae1f-a5bbd9e02058", 1014, false, "kzTmmZ7oVSs", "https://www.youtube.com/watch?v=kzTmmZ7oVSs", 7, "/downloads/Exploring Alternatives/Comfortable Tiny House with Flexible Open Concept Design & Main Floor Bedroom – FULL TOUR/Comfortable Tiny House with Flexible Open Concept Design & Main Floor Bedroom – FULL TOUR [kzTmmZ7oVSs].mp4", false, false, false, 9, [], 98, ~U[2025-09-26 18:39:55Z], ~U[2026-02-16 12:37:38Z], ~U[2026-02-16 12:37:38Z], "The Thicket tiny house was built by Rewild Homes in BC, Canada with a 10-foot extra-wide design that makes for a spacious tiny house with a main floor bedroom (no stairs, no lofts in the middle of the night!), a pass through bathroom with a massive shower and combo washer/dryer, an L-shaped kitchen with full-size appliances, a dining room table for two, and a cozy living room with a fireplace. This tiny house is built with beautiful and durable materials including pine, hemlock, cedar, and fir woods, a locally made trailer, and standing seam metal siding and roofing.\n\nYou can follow and find out more about Rewild Homes here:\nhttps://www.instagram.com/rewildhomes\nhttps://www.facebook.com/rewildhomes\nhttps://www.rewildhomes.com/\n\nThe house is bathed in natural light with french doors, awning windows, and transom windows – all strategically placed to make it feel bright, airy, and ventilated inside the home while also maintaining some privacy and avoiding the higher cost of skylights.\n\nThis THOW (tiny house on wheels) also has loads of storage including ample cabinetry in the kitchen, storage for linens and towels in the bathroom, closets in the bedroom, and a storage loft that is accessible via a ladder in the bedroom.\n\nRewild Homes started after owners Jess and Pat built their own tiny house back in 2012 and subsequently decided to start building tiny homes for others. They have since built over 70 homes! \n\nThe Thicket is a show home that allowed them to make fun design choices that they wanted to try, like dramatic forest green cabinetry in the kitchen, a luxurious spa-like bathroom, and a main floor bedroom with it's own private entrance and deck. This home will eventually become a long-term rental for someone on Vancouver Island.\n\nThe tiny house is an easy plug and play unit with simple hookups including a potable garden hose connection for water, a septic connection for waste, a 50-amp twist lock RV style power connection for electricity, and propane connections for the on demand hot water heater and off-grid stove and oven. The shed style sloped roof also makes it easy to install gutters on one side of the house for rainwater collection.\n\nWe hope you enjoyed a tour of this beautiful tiny house on wheels! \n\nYou can follow and find out more about Rewild Homes in Cobble Hill, BC, Canada here:\nhttps://www.instagram.com/rewildhomes\nhttps://www.facebook.com/rewildhomes\nhttps://www.rewildhomes.com/\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate r (truncated) 12:37:38.331 [debug] QUERY OK source="sources" db=0.6ms idle=163.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:38.332 [debug] QUERY OK source="media_profiles" db=0.3ms idle=38.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:37:38.333 [debug] QUERY OK source="media_items" db=0.4ms idle=37.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 [16568] 12:37:38.333 [debug] Current batch of media processed. Will check again in 1000ms 12:37:39.334 [debug] Current batch of media processed. Will check again in 1000ms 12:37:39.937 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@ExploringAlternatives --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Exploring Alternatives/%(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/07/f5/07f5f405ef4293e348676ee217665154104d7330e3638b3927cb534c7fd1e9ac.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/55/86/5586452d439f1b57b64dc1ec1e31c8e67dc7618c44f71030820f5eb9e91dfd20.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 12:37:39.938 [debug] Gracefully stopping file follower 12:37:39.939 [debug] QUERY OK source="sources" db=0.3ms queue=0.6ms idle=769.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:37:39.939 [debug] QUERY OK source="sources" db=0.2ms idle=287.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:39.941 [debug] QUERY OK source="media_items" db=1.5ms idle=287.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-01 21:33:46Z], 9] 12:37:39.943 [debug] QUERY OK source="media_items" db=1.7ms idle=289.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In the 1990's, this old house was on the verge of being torn down, but a family bought it and renovated/revived it very slowly (as their budget would allow) over the course of 30 years to create a stunning home for their family of 6. To save money and to reduce their impact on the environment, Geneviève and her family got VERY creative and used an impressive mix of local salvaged wood, panels from decommissioned and deconstructed truck trailers, discarded office furniture, secondhand decor items, and lots of finds at the scrap yard. \n\nSome of the unique repurposed items you'll find in this house include kitchen countertops made with old snooker tables, museum exhibit road cases used as a bedroom ceiling, an old streetlamp to light up the kitchen, the old verandah walls & windows being used as a bathroom, and more! Everywhere you look, Geneviève and her family used loads of creativity and ingenuity to create a low impact, sustainable home using items and materials that already exist.\n\nThe use of materials like this can definitely save money but it does take more time to source them.\n\nSurprisingly, the house is built to code despite their use of unconventional materials that were used structurally – including parts of the truck trailers that were used as the floor and ceiling in the addition! The family consulted with an architecture firm who helped them ensure that the materials would be sturdy and code compliant.\n\nThe architecture firm was called Tergos in Quebec, Canada:\nhttps://tergos.qc.ca/\n\nThis house was not only a family home, it was also where Geneviève homeschooled her four boys, and grew incredible permaculture gardens that provided the majority of the family's fresh food while they lived there.\n\nNow that the kids have left the nest, Geneviève has sold the house and is on the lookout for her next big project to get into!\n\nWe hope you enjoyed seeing how one family made a big effort to create an affordable home for themselves while keeping the environment top of mind. The result is absolutely stunning and very impressive!\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Lauréan Tardif\nhttps://www.instagram.com/laureantardif\n\n#reclaimed #recycled #house", "Stunning Recycled Home Built with SUPER Unique Reclaimed Materials – FULL TOUR", "9872cd4c-e721-43b9-80b4-fbe0acab85ec", 791, false, "BOXfxvV7xzg", "https://www.youtube.com/watch?v=BOXfxvV7xzg", 1, "/downloads/Exploring Alternatives/Stunning Recycled Home Built with SUPER Unique Reclaimed Materials – FULL TOUR/Stunning Recycled Home Built with SUPER Unique Reclaimed Materials – FULL TOUR [BOXfxvV7xzg].mp4", false, false, false, 9, [], 98, ~U[2026-02-01 21:33:46Z], ~U[2026-02-16 12:37:39Z], ~U[2026-02-16 12:37:39Z], "In the 1990's, this old house was on the verge of being torn down, but a family bought it and renovated/revived it very slowly (as their budget would allow) over the course of 30 years to create a stunning home for their family of 6. To save money and to reduce their impact on the environment, Geneviève and her family got VERY creative and used an impressive mix of local salvaged wood, panels from decommissioned and deconstructed truck trailers, discarded office furniture, secondhand decor items, and lots of finds at the scrap yard. \n\nSome of the unique repurposed items you'll find in this house include kitchen countertops made with old snooker tables, museum exhibit road cases used as a bedroom ceiling, an old streetlamp to light up the kitchen, the old verandah walls & windows being used as a bathroom, and more! Everywhere you look, Geneviève and her family used loads of creativity and ingenuity to create a low impact, sustainable home using items and materials that already exist.\n\nThe use of materials like this can definitely save money but it does take more time to source them.\n\nSurprisingly, the house is built to code despite their use of unconventional materials that were used structurally – including parts of the truck trailers that were used as the floor and ceiling in the addition! The family consulted with an architecture firm who helped them ensure that the materials would be sturdy and code compliant.\n\nThe architecture firm was called Tergos in Quebec, Canada:\nhttps://tergos.qc.ca/\n\nThis house was not only a family home, it was also where Geneviève homeschooled her four boys, and grew incredible permaculture gardens that provided the majority of the family's fresh food while they lived there.\n\nNow that the kids have left the nest, Geneviève has sold the house and is on the lookout for her next big project to get into!\n\nWe hope you enjoyed seeing how one family made a big effort to create an affordable home for themselves while keeping the environment top of mind. The result is absolutely stunning and very impressive!\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Lauréan Tardif\nhttps://www.instagram.com/laureantardif\n\n#reclaimed #recycled #house", "Stunning Recycled Home Built with SUPER Unique Reclaimed Materials – FULL TOUR", 791, false, "BOXfxvV7xzg", "https://www.youtube.com/watch?v=BOXfxvV7xzg", "/downloads/Exploring Alternatives/Stunning Recycled Home Built with SUPER Unique Reclaimed Materials – FULL TOUR/Stunning Recycled Home Built with SUPER Unique Reclaimed Materials – FULL TOUR [BOXfxvV7xzg].mp4", false, 9, ~U[2026-02-01 21:33:46Z]] 12:37:39.944 [debug] QUERY OK source="sources" db=0.3ms idle=291.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:39.946 [debug] QUERY OK source="media_items" db=1.5ms idle=5.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-12 19:35:45Z], 9] 12:37:39.948 [debug] QUERY OK source="media_items" db=1.8ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["This incredible tiny house was hand crafted with high quality materials and beautiful wood to create a stunning tiny house on wheels, inside and out. Everything from the door and windows, to the cabinetry and shelving, was built by hand. Measuring 26' long x 8.5' wide x 13.5' tall, it's not a very big house but it has some of the most beautiful living spaces we've seen! \n\nYou can find out more about Matt's tiny house build here:\nhttps://nutshelldesignco.weebly.com/\n\nThe house has a luxurious tiled bathroom with an open shower, a living wall, and heated floors. A minimalist retro kitchen with custom made cabinets, a vintage-style fridge, and a '50s diner inspired table. A cozy living room with a trifold sofa bed, a standing wall shelving unit, woven wallpaper, and a designer lamp. And upstairs, the loft is a bright and airy sleeping nook with an operable skylight, storage shelves, and a stained glass window for extra air flow. The exterior has a bump out shed with space for the propane on demand water heater, the water filtration system, the electrical panel, and extra storage for things like camping gear.\n\nMatt spent a lot of time thinking about the lighting and ventilation in the house. He built and installed 7 clerestory windows along the top of the roofline to bring in lots of natural light, and he also built two casement windows on the main level, and installed an operable skylight in the loft to allow hot air to vent out through the roof in the summer.\n\nHe also included unique lights including a handmade Japanese-inspired lantern, a designer counterweighted light, and a Turkish goat-skin drum light.\n\nEvery single corner of this micro home has something special about it, and you can tell it was built with a lot of love, care and skill.\n\nThis tiny house is currently for sale on Vancouver Island and you can find out more about it on Matt's website here:\nhttps://nutshelldesignco.weebly.com/\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Lukáš Hyrman\nhttps://www.instagram.com/kashframes \n\nBuild photos provided by: Matt Fattori\nhttps://nutshelldesignco.weebly.com/ \n\n#tinyhouse #tinyhousedesign #tinyhome", "*One of a Kind* Tiny House Built with Special Interior Details & Design – FULL TOUR", "d7ee7a1c-6abe-4332-8a66-087457d0b6fb", 1159, false, "M--AC9F15Ts", "https://www.youtube.com/watch?v=M--AC9F15Ts", 2, "/downloads/Exploring Alternatives/*One of a Kind* Tiny House Built with Special Interior Details & Design – FULL TOUR/*One of a Kind* Tiny House Built with Special Interior Details & Design – FULL TOUR [M--AC9F15Ts].mp4", false, false, false, 9, [], 98, ~U[2026-01-12 19:35:45Z], ~U[2026-02-16 12:37:39Z], ~U[2026-02-16 12:37:39Z], "This incredible tiny house was hand crafted with high quality materials and beautiful wood to create a stunning tiny house on wheels, inside and out. Everything from the door and windows, to the cabinetry and shelving, was built by hand. Measuring 26' long x 8.5' wide x 13.5' tall, it's not a very big house but it has some of the most beautiful living spaces we've seen! \n\nYou can find out more about Matt's tiny house build here:\nhttps://nutshelldesignco.weebly.com/\n\nThe house has a luxurious tiled bathroom with an open shower, a living wall, and heated floors. A minimalist retro kitchen with custom made cabinets, a vintage-style fridge, and a '50s diner inspired table. A cozy living room with a trifold sofa bed, a standing wall shelving unit, woven wallpaper, and a designer lamp. And upstairs, the loft is a bright and airy sleeping nook with an operable skylight, storage shelves, and a stained glass window for extra air flow. The exterior has a bump out shed with space for the propane on demand water heater, the water filtration system, the electrical panel, and extra storage for things like camping gear.\n\nMatt spent a lot of time thinking about the lighting and ventilation in the house. He built and installed 7 clerestory windows along the top of the roofline to bring in lots of natural light, and he also built two casement windows on the main level, and installed an operable skylight in the loft to allow hot air to vent out through the roof in the summer.\n\nHe also included unique lights including a handmade Japanese-inspired lantern, a designer counterweighted light, and a Turkish goat-skin drum light.\n\nEvery single corner of this micro home has something special about it, and you can tell it was built with a lot of love, care and skill.\n\nThis tiny house is currently for sale on Vancouver Island and you can find out more about it on Matt's website here:\nhttps://nutshelldesignco.weebly.com/\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Lukáš Hyrman\nhttps://www.instagram.com/kashframes \n\nBuild photos provided by: Matt Fattori\nhttps://nutshelldesignco.weebly.com/ \n\n#tinyhouse #tinyhousedesign #tinyhome", "*One of a Kind* Tiny House Built with Special Interior Details & Design – FULL TOUR", 1159, false, "M--AC9F15Ts", "https://www.youtube.com/watch?v=M--AC9F15Ts", "/downloads/Exploring Alternatives/*One of a Kind* Tiny House Built with Special Interior Details & Design – FULL TOUR/*One of a Kind* Tiny House Built with Special Interior Details & Design – FULL TOUR [M--AC9F15Ts].mp4", false, 9, ~U[2026-01-12 19:35:45Z]] 12:37:39.949 [debug] QUERY OK source="sources" db=0.4ms idle=7.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:39.951 [debug] QUERY OK source="media_items" db=1.6ms idle=6.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-14 16:15:17Z], 9] 12:37:39.954 [debug] QUERY OK source="media_items" db=1.9ms idle=7.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Michelle & Brendan met online as they were approaching their 50's, and realized they shared a dream of living closer to the land, so they decided to build a tiny house together and move it from the UK to Ireland where they could afford to buy land to park it. It has been 3 years now, and they have transformed their land into a stunning homestead. They've planted thousands of trees, dug a DIY pond that is now full of tadpoles, planted an orchard and fruit bushes, built a covered porch and shed, set up a poly tunnel greenhouse, and they are working on building raised beds with recycled pallets. On top of all that, they've also started a YouTube channel where they document all of the ups and downs of their adventures in alternative living: The Off-Grid Ireland Dream.\n\nYou can follow and find out more about Michelle & Brendan's off-grid tiny house homestead here:\nhttps://www.youtube.com/@TheOffGridIrelandDream\nhttps://www.facebook.com/profile.php?id=61571179161483 \n\nTheir tiny house is only 135 square feet and includes a well organized kitchen with custom-built storage so that everything has it's place, and a table that looks out over their land through a big picture window. They have a cabin bed that they call their day bed. It's a combination of a bedroom and a lounge living room where they can watch TV and play PlayStation. They opted for no loft, no stairs, and no ladder for accessibility reasons as they age. The room has a big cozy bed, a large entertainment system, and overhead storage. The bathroom is quite tiny and has a homemade compost toilet, a shower with water heated by an on-demand LPG gas water heater.\n\nTheir off-grid systems include solar panels, an inverter and batteries, as well as a solar generator. They also have a gas generator for the greyest months in the middle of winter. For heat, they have a small diesel heater that is usually found in vans and trucks. And for water, they collect rainwater from their roof and filter it for daily use. They are in the process of upgrading the UV filtration so that they can drink the water as well. Laundry is an outdoor setup but they do also use launderettes in town, and internet is via a broadband sim card.\n\nThe couple are passionate about gardening and saving animals. They have a sweet pair of rescue cats, Marley and Daisy, and they plan to adopt some dogs, as well as rescue some battery hens and other farm animals to help with fertilizing and tilling the soil.\n\nYou can follow and find out more about Michelle & Brendan's off-grid tiny house homestead here:\nhttps://www.youtube.com/@TheOffGridIrelandDream\nhttps://www.facebook.com/profile.php?id=61571179161483 \n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Michelle and Brendan\n\n#offgrid #tinyhouse #homestead", "Couple's AMAZING Off-Grid Homestead & SUPER SMALL Tiny House Built from Scratch – FULL TOUR", "8cd4a428-912a-4739-8966-f4f83ccfe83c", 1256, false, "xEhkI0xM130", "https://www.youtube.com/watch?v=xEhkI0xM130", 3, "/downloads/Exploring Alternatives/Couple's AMAZING Off-Grid Homestead & SUPER SMALL Tiny House Built from Scratch – FULL TOUR/Couple's AMAZING Off-Grid Homestead & SUPER SMALL Tiny House Built from Scratch – FULL TOUR [xEhkI0xM130].mp4", false, false, false, 9, [], 98, ~U[2025-12-14 16:15:17Z], ~U[2026-02-16 12:37:39Z], ~U[2026-02-16 12:37:39Z], "Michelle & Brendan met online as they were approaching their 50's, and realized they shared a dream of living closer to the land, so they decided to build a tiny house together and move it from the UK to Ireland where they could afford to buy land to park it. It has been 3 years now, and they have transformed their land into a stunning homestead. They've planted thousands of trees, dug a DIY pond that is now full of tadpoles, planted an orchard and fruit bushes, built a covered porch and shed, set up a poly tunnel greenhouse, and they are working on building raised beds with recycled pallets. On top of all that, they've also started a YouTube channel where they document all of the ups and downs of their adventures in alternative living: The Off-Grid Ireland Dream.\n\nYou can follow and find out more about Michelle & Brendan's off-grid tiny house homestead here:\nhttps://www.youtube.com/@TheOffGridIrelandDream\nhttps://www.facebook.com/profile.php?id=61571179161483 \n\nTheir tiny house is only 135 square feet and includes a well organized kitchen with custom-built storage so that everything has it's place, and a table that looks out over their land through a big picture window. They have a cabin bed that they call their day bed. It's a combination of a bedroom and a lounge living room where they can watch TV and play PlayStation. They opted for no loft, no stairs, and no ladder for accessibility reasons as they age. The room has a big cozy bed, a large entertainment system, and overhead storage. The bathroom is quite tiny and has a homemade compost toilet, a shower with water heated by an on-demand LPG gas water heater.\n\nTheir off-grid systems include solar panels, an inverter and batteries, as well as a solar generator. They also have a gas generator for the greyest months in the middle of winter. For heat, they have a small diesel heater that is usually found in vans and trucks. And for water, they collect rainwater from their roof and filter it for daily use. They are in the process of upgrading the UV filtration so that they can drink the water as well. Laundry is an outdoor setup but they do also use launderettes in town, and internet is via a broadband sim card.\n\nThe couple are passionate about gardening and saving animals. They have a sweet pair of rescue cats, Marley and Daisy, and they plan to adopt some dogs, as well as rescue some battery hens and other farm animals to help with fertilizing and tilling the soil.\n\nYou can follow and find out more about Michelle & Brendan's off-grid tiny house homestead here:\nhttps://www.youtube.com/@TheOffGridIrelandDream\nhttps://www.facebook.com/profile.php?id=61571179161483 \n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n---------------------- (truncated) 12:37:39.955 [debug] QUERY OK source="sources" db=0.6ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:39.957 [debug] QUERY OK source="media_items" db=1.8ms idle=6.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-30 14:32:41Z], 9] 12:37:39.959 [debug] QUERY OK source="media_items" db=2.1ms idle=7.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Ugly Truckling is an absolutely INCREDIBLE house truck that was hand built by a woman named Kai in British Columbia, Canada over the course of many years. She is a carpenter and an artist, so she did all of the design, the woodwork, the framing and cabinetry, the floor panelling, the shakes, the doors, etc. while her husband, Ben, worked on the systems for electricity and gas, and he also does any mechanical maintenance work needed on the truck itself. Kai and Ben been living in the house truck full time in the woods of British Columbia, Canada (along with their cat Opie!) for almost 8 years now!\n\nYou can follow and find out more about The Ugly Truckling here:\nhttps://www.instagram.com/the_ugly_truckling/ \nhttps://www.tiktok.com/@the_ugly_truckling\nhttps://www.youtube.com/@theuglytruckling\n\nThe 200 square foot house truck is built on a 1992 International 4900 with a DT466 diesel engine – which is non electronic so it's super reliable and runs like a tank. It used to be a linen delivery vehicle before she bought it for $4,000 CAD. She had a custom flat deck fabricated for the truck and steel vertical supports welded onto the truck to create the frame for the house. Then she finished it all in wood, using red cedar driftwood for the shakes on upper half, and cedar board and batten on the lower half. In total she figures she's spent approx. $50,000 CAD on the project (not including her labour to build it all).\n\nKai and Ben are super creative and innovative and they came up with loads of great ways to build a unique home. They've used mostly reclaimed and salvaged materials, like wood from old train boxcars, antique brass door handles and light switches, thrifted light fixtures, wooden windows, porthole windows, and more!\n\nThe house truck has a cozy living room with a built-in sofa that slides out to convert into a guest bed with loads of hidden storage for shoes and gear built into it. Across from the couch is a small wood stove and an area that will eventually become a bookshelf and coat closet. There's also a massive round window brings in a ton of natural light into the house, and out the back door there is a built in deck that goes with them wherever they go!\n\nThe kitchen is a stunning masterpiece of cabinetry that Kai built using locally sourced wood from trees native to BC, like alder, maple, and cedar. She built the drawers with a special notch at the base so that they \"lock\" into place without any special hardware. This keeps all the drawers safely stowed even when they're driving down the road. They have a 2-way gas and electric fridge, and will soon install a propane stove and oven (they've been using a camp stove and toaster oven for the past 7 years). They have a cozy little dinette with built in storage as well!\n\nA little closer to the front of the truck is a walkthrough bathroom with a composting toilet on the left, and a shower stall on the left that is made from half of an old wine barrel and serves as a small soaker tub that you can sit in.\n\nAnd finally, up the ladder, you find the cozy loft that sits above the cab of the truck and features a lovely porthole window that Ben salvaged from a shipwreck as a gift for Kai.\n\nKai was inspired to build a magical tiny home on wheels after finding books from the 1970s about rolling homes, as well as books by Lloyd Kahn like Shelter and Homework. The Ugly Truckling is actually featured in his latest book, Rolling Homes! You can check it out here:\nhttps://shop.adventurewithkeen.com/shelter-publications/ \n\nYou can also follow and find out more about The Ugly Truckling here:\nhttps://www.instagram.com/the_ugly_truckling/ \nhttps://www.tiktok.com/@the_ugly_truckling\nhttps://www.youtube.com/@theuglytruckling\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n------------------------------" <> ..., "Couple Living in a Spectacular Self-Built Tiny House Truck for 8 Years – FULL TOUR", "48c80c78-14d2-448e-8c93-ee2cb15674e3", 1535, false, "onqPvEFnFHE", "https://www.youtube.com/watch?v=onqPvEFnFHE", 4, "/downloads/Exploring Alternatives/Couple Living in a Spectacular Self-Built Tiny House Truck for 8 Years – FULL TOUR/Couple Living in a Spectacular Self-Built Tiny House Truck for 8 Years – FULL TOUR [onqPvEFnFHE].mp4", false, false, false, 9, [], 98, ~U[2025-11-30 14:32:41Z], ~U[2026-02-16 12:37:39Z], ~U[2026-02-16 12:37:39Z], "The Ugly Truckling is an absolutely INCREDIBLE house truck that was hand built by a woman named Kai in British Columbia, Canada over the course of many years. She is a carpenter and an artist, so she did all of the design, the woodwork, the framing and cabinetry, the floor panelling, the shakes, the doors, etc. while her husband, Ben, worked on the systems for electricity and gas, and he also does any mechanical maintenance work needed on the truck itself. Kai and Ben been living in the house truck full time in the woods of British Columbia, Canada (along with their cat Opie!) for almost 8 years now!\n\nYou can follow and find out more about The Ugly Truckling here:\nhttps://www.instagram.com/the_ugly_truckling/ \nhttps://www.tiktok.com/@the_ugly_truckling\nhttps://www.youtube.com/@theuglytruckling\n\nThe 200 square foot house truck is built on a 1992 International 4900 with a DT466 diesel engine – which is non electronic so it's super reliable and runs like a tank. It used to be a linen delivery vehicle before she bought it for $4,000 CAD. She had a custom flat deck fabricated for the truck and steel vertical supports welded onto the truck to create the frame for the house. Then she finished it all in wood, using red cedar driftwood for the shakes on upper half, and cedar board and batten on the lower half. In total she figures she's spent approx. $50,000 CAD on the project (not including her labour to build it all).\n\nKai and Ben are super creative and innovative and they came up with loads of great ways to build a unique home. They've used mostly reclaimed and salvaged materials, like wood from old train boxcars, antique brass door handles and light switches, thrifted light fixtures, wooden windows, porthole windows, and more!\n\nThe house truck has a cozy living room with a built-in sofa that slides out to convert into a guest bed with loads of hidden storage for shoes and gear built into it. Across from the couch is a small wood stove and an area that will eventually become a bookshelf and coat closet. There's also a massive round window brings in a ton of natural light into the house, and out the back door there is a built in deck that goes with them wherever they go!\n\nThe kitchen is a stunning masterpiece of cabinetry that Kai built using locally sourced wood from trees native to BC, like alder, maple, and cedar. She built the drawers with a special notch at the base so that they \"lock\" into place without any special hardware. This keeps all the drawers safely stowed even when they're driving down the road. They have a 2-way gas and electric fridge, and will soon install a propane stove and oven (they've been using a camp (truncated) 12:37:39.960 [debug] QUERY OK source="sources" db=0.4ms idle=8.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:39.962 [debug] QUERY OK source="media_items" db=1.5ms idle=7.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-09 21:55:58Z], 9] 12:37:39.964 [debug] QUERY OK source="media_items" db=1.7ms idle=7.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video we show you how a tiny house is built, from start to finish, in a local factory. They have 8 tiny houses on the go at any given time, with each house at a different stage of completion, so you can easily see each step of the construction process all in one place.\n\nWe thought it would be interesting to get a behind the scenes look at how they’re built, and Mint Tiny House was nice enough to give us a tour of their factory so we could show you how it all works. It’s pretty cool to see it go from a trailer to a fully finished tiny house so stay tuned! \n\nYou can follow and find out more about Mint Tiny House Company here:\nhttps://www.minttinyhouse.com/\nhttps://www.instagram.com/minttinyhouse\nhttps://www.youtube.com/@MintTinyHouseCompany\n\n- Bay 1 is where they do all the sub flooring and where the walls start to go up. Everything begins from the trailer and then they start building from the ground up. The walls are built with 2x4 construction, just like a traditional house, which gives the tiny home strength and durability. From there, the team frames the lofts and the roof, while the electrical and plumbing systems start being carefully installed to ensure everything will work perfectly.\n\n- Bay 2 is where all the walls and interiors are being done, the roof framing has gone in and everything starts coming together. One of the exciting things that happens here is when the framed roof is lifted into place on top of the tiny house – always a cool and impressive thing to watch!\n\n- Bay 3 is where pre-siding and windows are installed. This is where the building envelope starts to close up to seal and protect the house from the elements and to make it a comfortable space to live in year round. The house is insulated with spray foam insulation that hardens on contact and further strengthens the entire structure of the tiny house frame and walls. Then they install the sheathing, vapour barrier, and Tyvek, as well as the windows. \n\n- Bay 4 is where the exterior siding is installed and the painting in the interior starts going.\nThe most common types of siding they use are board and batten, or metal siding.\n\n- Bay 5 is where all the electrical and plumbing is done and the kitchen installation happens.\nSo the kitchen cabinets, countertops, and appliances like the fridge and stove are being put in place. \n\n- Bay 6 is where the roof goes up and gets completed, and the custom interiors are done.\n\n- Bay 7 is where everything is looking like it’s almost done. But this is where all the finishings on the interior and exterior are done. Things like installing baseboards, adding the last coat of paint, and putting up light fixtures. \n\n- Bay 8 is the final stop before the tiny homes head out to their new owners! Here, it’s all about testing and quality control. The QC team checks everything — from ensuring that all the appliances are functioning perfectly to inspecting the plumbing and electrical systems. They even take a close look at the finishes, making sure every detail is spot on. It’s like a final wellness check for the home, guaranteeing that everything is just right before it hits the road.\n\nThank you for touring the Mint Tiny House factory with us! And thank you to Farai and the whole team at Mint, both in the office and in the shop, for sharing your work with us and for being part of this project! You all do incredible work! \n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate resp" <> ..., "Exclusive Tiny House Factory Tour – How a Tiny House is Built from Start to Finish", "4df7597f-43f3-4b12-9e72-3faabc287e7c", 543, false, "z76AwKohJrE", "https://www.youtube.com/watch?v=z76AwKohJrE", 5, "/downloads/Exploring Alternatives/Exclusive Tiny House Factory Tour – How a Tiny House is Built from Start to Finish/Exclusive Tiny House Factory Tour – How a Tiny House is Built from Start to Finish [z76AwKohJrE].mp4", false, false, false, 9, [], 98, ~U[2025-11-09 21:55:58Z], ~U[2026-02-16 12:37:39Z], ~U[2026-02-16 12:37:39Z], "In this video we show you how a tiny house is built, from start to finish, in a local factory. They have 8 tiny houses on the go at any given time, with each house at a different stage of completion, so you can easily see each step of the construction process all in one place.\n\nWe thought it would be interesting to get a behind the scenes look at how they’re built, and Mint Tiny House was nice enough to give us a tour of their factory so we could show you how it all works. It’s pretty cool to see it go from a trailer to a fully finished tiny house so stay tuned! \n\nYou can follow and find out more about Mint Tiny House Company here:\nhttps://www.minttinyhouse.com/\nhttps://www.instagram.com/minttinyhouse\nhttps://www.youtube.com/@MintTinyHouseCompany\n\n- Bay 1 is where they do all the sub flooring and where the walls start to go up. Everything begins from the trailer and then they start building from the ground up. The walls are built with 2x4 construction, just like a traditional house, which gives the tiny home strength and durability. From there, the team frames the lofts and the roof, while the electrical and plumbing systems start being carefully installed to ensure everything will work perfectly.\n\n- Bay 2 is where all the walls and interiors are being done, the roof framing has gone in and everything starts coming together. One of the exciting things that happens here is when the framed roof is lifted into place on top of the tiny house – always a cool and impressive thing to watch!\n\n- Bay 3 is where pre-siding and windows are installed. This is where the building envelope starts to close up to seal and protect the house from the elements and to make it a comfortable space to live in year round. The house is insulated with spray foam insulation that hardens on contact and further strengthens the entire structure of the tiny house frame and walls. Then they install the sheathing, vapour barrier, and Tyvek, as well as the windows. \n\n- Bay 4 is where the exterior siding is installed and the painting in the interior starts going.\nThe most common types of siding they use are board and batten, or metal siding.\n\n- Bay 5 is where all the electrical and plumbing is done and the kitchen installation happens.\nSo the kitchen cabinets, countertops, and appliances like the fridge and stove are being put in place. \n\n- Bay 6 is where the roof goes up and gets completed, and the custom interiors are done.\n\n- Bay 7 is where everything is looking like it’s almost done. But this is where all the finishings on the interior and exterior are done. Things like installing baseboards, adding the last coat of paint, (truncated) 12:37:39.965 [debug] QUERY OK source="sources" db=0.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:39.967 [debug] QUERY OK source="media_items" db=1.4ms idle=6.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-19 20:08:54Z], 9] 12:37:39.969 [debug] QUERY OK source="media_items" db=1.8ms idle=6.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Tim Coertze has been living off-grid on a remote island in the Straight of Georgia (in Canada) for 18 years. He is solo building his own retirement home using local materials from his own land, like rock, sand, and wood, as well as concrete for the foundation, rockwool for the insulation and tin for the roof. He generates electricity with solar panels, he collects rainwater from his roof, he heats his home with firewood that he cuts down himself, and burns it in three different wood stoves: a monolithic masonry stove, a cast iron wood stove, or a rocket stove under his bathtub. He also grows a lot of his own fruits and vegetables, sprouts seeds, bakes bread, and is raising a pair of Thai river water buffalo for milk.\n\nYou can follow Tim on his new YouTube channel here:\nhttps://www.youtube.com/@timcoertze \n\nThe island where Tim lives is completely off-grid, and can only be accessed by a pedestrian ferry (there is no car ferry), which makes it difficult to bring materials onto the island unless you can do it by barge, which is very expensive. There is a community on the island so Tim finds that he can barter and trade with folks on the island for most of his needs, but he does go to town off island every couple of months to get groceries like coffee.\n\nHe does use propane to heat hot water and to cook when his wood stove is damped down, or when the wildfire risk is too high to burn a fire.\n\nTim is a thoughtful and talented creative builder who has done a ton of research into alternative building methods and systems from around the world, while focusing on using local materials, skills, and items for his projects.\n\nOne of his first jobs in the '80s was working at sea, where he saw floating garbage islands that forever changed the course of his life. This led him to resign from his job and to seek out a remote and clean place where he could have a family, and live closer to the land. He has been growing his own food and processing his own firewood for 40 years, and he now has grandchildren, so he managed to make his dreams a reality. \n\nBut the experience of seeing those garbage islands never left him, and he has made an effort to manage his own waste on his land. He keeps all of the garbage that he creates and sequesters it in the walls of his outbuildings, where they will be enclosed in concrete or plaster. This reduces the energy needed to transport the garbage off the island and to a dump or recycling plant where only a fraction of the items will be recycled. He has also repurposed the tires from his island truck as the chamber for his composting toilet. He has managed to sequester 7 years of garbage in the walls of his solar panel shed.\n\nHe is not yet retired, and still works as a roofer, although he is hoping to spend less time doing the heavy work and more time managing crews moving forward. He also plans to slowly complete his house with trim, paint, etc. and spend more time growing food once the house is complete.\n\nThis off-grid lifestyle can be challenging but Tim appreciates the silence, the satisfaction of being self sufficient, and the connection to the environment that allows him to appreciate the sun, the rain, and the plants around him.\n\nA big thank you to Tim for sharing his story with us!\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n------------------------------------------------------" <> ..., "18 Years Living Off-Grid on a Remote Island in a Solo-Built House & Homestead", "91e56586-236e-4488-8785-9fe19335f331", 1973, false, "PEKbJ-_gtoM", "https://www.youtube.com/watch?v=PEKbJ-_gtoM", 6, "/downloads/Exploring Alternatives/18 Years Living Off-Grid on a Remote Island in a Solo-Built House & Homestead/18 Years Living Off-Grid on a Remote Island in a Solo-Built House & Homestead [PEKbJ-_gtoM].mp4", false, false, false, 9, [], 98, ~U[2025-10-19 20:08:54Z], ~U[2026-02-16 12:37:39Z], ~U[2026-02-16 12:37:39Z], "Tim Coertze has been living off-grid on a remote island in the Straight of Georgia (in Canada) for 18 years. He is solo building his own retirement home using local materials from his own land, like rock, sand, and wood, as well as concrete for the foundation, rockwool for the insulation and tin for the roof. He generates electricity with solar panels, he collects rainwater from his roof, he heats his home with firewood that he cuts down himself, and burns it in three different wood stoves: a monolithic masonry stove, a cast iron wood stove, or a rocket stove under his bathtub. He also grows a lot of his own fruits and vegetables, sprouts seeds, bakes bread, and is raising a pair of Thai river water buffalo for milk.\n\nYou can follow Tim on his new YouTube channel here:\nhttps://www.youtube.com/@timcoertze \n\nThe island where Tim lives is completely off-grid, and can only be accessed by a pedestrian ferry (there is no car ferry), which makes it difficult to bring materials onto the island unless you can do it by barge, which is very expensive. There is a community on the island so Tim finds that he can barter and trade with folks on the island for most of his needs, but he does go to town off island every couple of months to get groceries like coffee.\n\nHe does use propane to heat hot water and to cook when his wood stove is damped down, or when the wildfire risk is too high to burn a fire.\n\nTim is a thoughtful and talented creative builder who has done a ton of research into alternative building methods and systems from around the world, while focusing on using local materials, skills, and items for his projects.\n\nOne of his first jobs in the '80s was working at sea, where he saw floating garbage islands that forever changed the course of his life. This led him to resign from his job and to seek out a remote and clean place where he could have a family, and live closer to the land. He has been growing his own food and processing his own firewood for 40 years, and he now has grandchildren, so he managed to make his dreams a reality. \n\nBut the experience of seeing those garbage islands never left him, and he has made an effort to manage his own waste on his land. He keeps all of the garbage that he creates and sequesters it in the walls of his outbuildings, where they will be enclosed in concrete or plaster. This reduces the energy needed to transport the garbage off the island and to a dump or recycling plant where only a fraction of the items will be recycled. He has also repurposed the tires from his island truck as the chamber for his composting toilet. He has managed to sequester 7 years of garbage in the walls of his solar panel shed.\n\nHe is not (truncated) 12:37:39.970 [debug] QUERY OK source="sources" db=0.4ms idle=7.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:39.972 [debug] QUERY OK source="media_items" db=1.4ms idle=6.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-26 18:39:55Z], 9] 12:37:39.974 [debug] QUERY OK source="media_items" db=1.6ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Thicket tiny house was built by Rewild Homes in BC, Canada with a 10-foot extra-wide design that makes for a spacious tiny house with a main floor bedroom (no stairs, no lofts in the middle of the night!), a pass through bathroom with a massive shower and combo washer/dryer, an L-shaped kitchen with full-size appliances, a dining room table for two, and a cozy living room with a fireplace. This tiny house is built with beautiful and durable materials including pine, hemlock, cedar, and fir woods, a locally made trailer, and standing seam metal siding and roofing.\n\nYou can follow and find out more about Rewild Homes here:\nhttps://www.instagram.com/rewildhomes\nhttps://www.facebook.com/rewildhomes\nhttps://www.rewildhomes.com/\n\nThe house is bathed in natural light with french doors, awning windows, and transom windows – all strategically placed to make it feel bright, airy, and ventilated inside the home while also maintaining some privacy and avoiding the higher cost of skylights.\n\nThis THOW (tiny house on wheels) also has loads of storage including ample cabinetry in the kitchen, storage for linens and towels in the bathroom, closets in the bedroom, and a storage loft that is accessible via a ladder in the bedroom.\n\nRewild Homes started after owners Jess and Pat built their own tiny house back in 2012 and subsequently decided to start building tiny homes for others. They have since built over 70 homes! \n\nThe Thicket is a show home that allowed them to make fun design choices that they wanted to try, like dramatic forest green cabinetry in the kitchen, a luxurious spa-like bathroom, and a main floor bedroom with it's own private entrance and deck. This home will eventually become a long-term rental for someone on Vancouver Island.\n\nThe tiny house is an easy plug and play unit with simple hookups including a potable garden hose connection for water, a septic connection for waste, a 50-amp twist lock RV style power connection for electricity, and propane connections for the on demand hot water heater and off-grid stove and oven. The shed style sloped roof also makes it easy to install gutters on one side of the house for rainwater collection.\n\nWe hope you enjoyed a tour of this beautiful tiny house on wheels! \n\nYou can follow and find out more about Rewild Homes in Cobble Hill, BC, Canada here:\nhttps://www.instagram.com/rewildhomes\nhttps://www.facebook.com/rewildhomes\nhttps://www.rewildhomes.com/\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Alex Harris\nhttps://www.instagram.com/alexrooted/\n\nAdditional photos provided by Jess from Rewild Homes\n\n#tinyhouse #tinyhousetour #tinyhouses", "Comfortable Tiny House with Flexible Open Concept Design & Main Floor Bedroom – FULL TOUR", "f79613a0-3d2a-4c91-b07b-6c1d51bd0e14", 1014, false, "kzTmmZ7oVSs", "https://www.youtube.com/watch?v=kzTmmZ7oVSs", 7, "/downloads/Exploring Alternatives/Comfortable Tiny House with Flexible Open Concept Design & Main Floor Bedroom – FULL TOUR/Comfortable Tiny House with Flexible Open Concept Design & Main Floor Bedroom – FULL TOUR [kzTmmZ7oVSs].mp4", false, false, false, 9, [], 98, ~U[2025-09-26 18:39:55Z], ~U[2026-02-16 12:37:39Z], ~U[2026-02-16 12:37:39Z], "The Thicket tiny house was built by Rewild Homes in BC, Canada with a 10-foot extra-wide design that makes for a spacious tiny house with a main floor bedroom (no stairs, no lofts in the middle of the night!), a pass through bathroom with a massive shower and combo washer/dryer, an L-shaped kitchen with full-size appliances, a dining room table for two, and a cozy living room with a fireplace. This tiny house is built with beautiful and durable materials including pine, hemlock, cedar, and fir woods, a locally made trailer, and standing seam metal siding and roofing.\n\nYou can follow and find out more about Rewild Homes here:\nhttps://www.instagram.com/rewildhomes\nhttps://www.facebook.com/rewildhomes\nhttps://www.rewildhomes.com/\n\nThe house is bathed in natural light with french doors, awning windows, and transom windows – all strategically placed to make it feel bright, airy, and ventilated inside the home while also maintaining some privacy and avoiding the higher cost of skylights.\n\nThis THOW (tiny house on wheels) also has loads of storage including ample cabinetry in the kitchen, storage for linens and towels in the bathroom, closets in the bedroom, and a storage loft that is accessible via a ladder in the bedroom.\n\nRewild Homes started after owners Jess and Pat built their own tiny house back in 2012 and subsequently decided to start building tiny homes for others. They have since built over 70 homes! \n\nThe Thicket is a show home that allowed them to make fun design choices that they wanted to try, like dramatic forest green cabinetry in the kitchen, a luxurious spa-like bathroom, and a main floor bedroom with it's own private entrance and deck. This home will eventually become a long-term rental for someone on Vancouver Island.\n\nThe tiny house is an easy plug and play unit with simple hookups including a potable garden hose connection for water, a septic connection for waste, a 50-amp twist lock RV style power connection for electricity, and propane connections for the on demand hot water heater and off-grid stove and oven. The shed style sloped roof also makes it easy to install gutters on one side of the house for rainwater collection.\n\nWe hope you enjoyed a tour of this beautiful tiny house on wheels! \n\nYou can follow and find out more about Rewild Homes in Cobble Hill, BC, Canada here:\nhttps://www.instagram.com/rewildhomes\nhttps://www.facebook.com/rewildhomes\nhttps://www.rewildhomes.com/\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respe (truncated) 12:37:39.975 [debug] QUERY OK source="sources" db=0.5ms idle=7.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:37:39.977 [debug] QUERY OK source="media_items" db=1.4ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-10 20:10:56Z], 9] 12:37:39.979 [debug] QUERY OK source="media_items" db=1.7ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Nick and Lolo are living in a beautifully handcrafted tiny home on wheels that is filled with character, charm, and cozy vibes. They built it together with help from a friend in just a few months and have been living in it for over 2 years – now with their 11-month old baby! They rent the land they're on, and are fortunate to have space to grow food with their landmates, as well as to grow Lolo's flowers for her floristry business.\n\nYou can follow and find out more about Lolo's flower farm here:\nhttps://www.instagram.com/buttercup.sandwich\n\nYou can follow and find out more about Nick's tiny house builds and his band here:\nhttps://www.instagram.com/k.knack\nhttps://www.instagram.com/drama.queen.band\n\nThe tiny house itself is approximately 300 square feet inside, plus a loft that is accessed with stairs and a drop floor. It was built over-width so it's wider than the average tiny house, which gives it less of a \"hallway\" feeling inside. There's a spacious living room with a full sized sofa and wood stove, a stunning kitchen with handmade cabinets and retro-style appliances, a walk-through closet for Nick and Lolo's clothes plus linens and towels, and a bathroom with hot pink floor tiles, a bucket style composting toilet and a claw foot bathtub. There's also a ladder in the kitchen to access a guest loft with a single bed (currently used as storage) and a hatch to get up onto the flat roof.\n\nIt's built on a 2-axle, 14,000 lbs capacity trailer from Rainbow Trailers in Alberta, Canada. They built the tiny house quite light by sheathing it on the inside and then wallpapering directly onto the sheathing which eliminated the need for interior walls like plaster, wood, or drywall. It is framed on the outside of the sheathing. They also used thinner wood for the floor to save on weight as well.\n\nIn total, without counting their own labour and the value of the wood and materials they salvaged/already had, the tiny house construction cost them approx. $40,000 CAD. \n\nOne of the coolest things about where their tiny house is parked is that there was an existing 600 square foot deck on the property that used to be the floor of the cabin there. It was at the perfect height for them to pull up the tiny house alongside the deck, and it gives them loads of extra space directly adjacent to the tiny house. They've covered it with a roof and added some side walls to make a great 3-season extension to the tiny house.\n\nYou can follow and find out more about Lolo's flower farm here:\nhttps://www.instagram.com/buttercup.sandwich\n\nYou can follow and find out more about Nick's tiny house builds and his band here:\nhttps://www.instagram.com/k.knack\nhttps://www.instagram.com/drama.queen.band\n\nAnd if you'd like to see more of Nick's tiny house builds, check out the playlist with all of the one's we've featured on Exploring Alternatives here:\nhttps://youtube.com/playlist?list=PLslKBpzJILetyJqIYf4La63afV6Wxm4aL&si=hHzuBKUGInrn9VqI\n\nThanks for watching!\n\n-------------------------------------------------------------\nSTAY IN TOUCH!\n-------------------------------------------------------------\n\nWebsite: www.exploringalternatives.ca\nFacebook: https://www.facebook.com/exploringalternativesblog\nInstagram: https://www.instagram.com/exploringalternatives/\n\n-------------------------------------------------------------\nCOMMENTS\n-------------------------------------------------------------\n\nWe want our channel and comments section to be an inclusive space where everyone feels welcome to watch and contribute. For this reason, inappropriate or hateful comments will be reported and/or deleted.\n\nPlease discuss and debate respectfully, and report inappropriate or hateful comments directly to YouTube.\n\n-------------------------------------------------------------\nCREDITS\n-------------------------------------------------------------\n\nMusic Credit: Exploring Alternatives\n\nEditing Credit: Exploring Alternatives\n\nFilming Credit: Alex Harris\nhttps://www.instagram.com/alexrooted\n\n#tinyhouse #tinyhousetour #selfbuilt", "Living in a STUNNING Tiny House with the BEST Layout & Cozy Interior Design – Self-Built for $40k", "10bf2c3c-7b5b-4861-975f-2ec86e5dbc78", 1242, false, "UCpDDdiqPog", "https://www.youtube.com/watch?v=UCpDDdiqPog", 8, "/downloads/Exploring Alternatives/Living in a STUNNING Tiny House with the BEST Layout & Cozy Interior Design – Self-Built for $40k/Living in a STUNNING Tiny House with the BEST Layout & Cozy Interior Design – Self-Built for $40k [UCpDDdiqPog].mp4", false, false, false, 9, [], 98, ~U[2025-09-10 20:10:56Z], ~U[2026-02-16 12:37:39Z], ~U[2026-02-16 12:37:39Z], "Nick and Lolo are living in a beautifully handcrafted tiny home on wheels that is filled with character, charm, and cozy vibes. They built it together with help from a friend in just a few months and have been living in it for over 2 years – now with their 11-month old baby! They rent the land they're on, and are fortunate to have space to grow food with their landmates, as well as to grow Lolo's flowers for her floristry business.\n\nYou can follow and find out more about Lolo's flower farm here:\nhttps://www.instagram.com/buttercup.sandwich\n\nYou can follow and find out more about Nick's tiny house builds and his band here:\nhttps://www.instagram.com/k.knack\nhttps://www.instagram.com/drama.queen.band\n\nThe tiny house itself is approximately 300 square feet inside, plus a loft that is accessed with stairs and a drop floor. It was built over-width so it's wider than the average tiny house, which gives it less of a \"hallway\" feeling inside. There's a spacious living room with a full sized sofa and wood stove, a stunning kitchen with handmade cabinets and retro-style appliances, a walk-through closet for Nick and Lolo's clothes plus linens and towels, and a bathroom with hot pink floor tiles, a bucket style composting toilet and a claw foot bathtub. There's also a ladder in the kitchen to access a guest loft with a single bed (currently used as storage) and a hatch to get up onto the flat roof.\n\nIt's built on a 2-axle, 14,000 lbs capacity trailer from Rainbow Trailers in Alberta, Canada. They built the tiny house quite light by sheathing it on the inside and then wallpapering directly onto the sheathing which eliminated the need for interior walls like plaster, wood, or drywall. It is framed on the outside of the sheathing. They also used thinner wood for the floor to save on weight as well.\n\nIn total, without counting their own labour and the value of the wood and materials they salvaged/already had, the tiny house construction cost them approx. $40,000 CAD. \n\nOne of the coolest things about where their tiny house is parked is that there was an existing 600 square foot deck on the property that used to be the floor of the cabin there. It was at the perfect height for them to pull up the tiny house alongside the deck, and it gives them loads of extra space directly adjacent to the tiny house. They've covered it with a roof and added some side walls to make a great 3-season extension to the tiny house.\n\nYou can follow and find out more about Lolo's flower farm here:\nhttps://www.instagram.com/buttercup.sandwich\n\nYou can follow and find out more about Nick's tiny house builds and his band here:\nhttps://www.instagram.com/k. (truncated) 12:37:39.980 [debug] QUERY OK source="sources" db=0.3ms idle=7.4ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-02-16 12:37:39Z], ~U[2026-02-16 12:37:39Z], 9] 12:37:39.981 [debug] QUERY OK source="media_items" db=1.6ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 12:37:39.983 [debug] QUERY OK source="media_items" db=1.4ms idle=6.7ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 12:37:39.984 [debug] QUERY OK source="media_items" db=0.3ms idle=6.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 12:37:39.985 [debug] QUERY OK source="tasks" db=0.3ms idle=3.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [404, 9, ~U[2026-02-16 12:37:39Z], ~U[2026-02-16 12:37:39Z]] 12:37:39.986 [info] {"args":{"id":9},"id":393,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":21847707,"event":"job:stop","queue_time":797472,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:38:00.260 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:38:03.098 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:33.101 [info] {"source":"oban","duration":2001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:00.262 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:39:03.103 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:33.105 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:00.263 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:40:03.108 [info] {"source":"oban","duration":1211,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:33.111 [info] {"source":"oban","duration":2222,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:00.264 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:41:03.113 [info] {"source":"oban","duration":1439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:33.114 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:00.266 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:42:03.116 [info] {"source":"oban","duration":1480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:33.119 [info] {"source":"oban","duration":1882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:00.269 [info] {"source":"oban","duration":2028,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:43:03.121 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:33.123 [info] {"source":"oban","duration":1458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:00.270 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:44:03.125 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:33.127 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:00.273 [info] {"source":"oban","duration":1009,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:45:03.130 [info] {"source":"oban","duration":1989,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:33.131 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:00.274 [info] {"source":"oban","duration":239,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:46:03.133 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:33.136 [info] {"source":"oban","duration":1881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:00.275 [info] {"source":"oban","duration":310,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:47:03.138 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:33.140 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:00.276 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:48:03.142 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:33.144 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:00.278 [info] {"source":"oban","duration":1075,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:49:03.146 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:33.148 [info] {"source":"oban","duration":1229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:00.279 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:50:03.152 [info] {"source":"oban","duration":3695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:33.155 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:00.280 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:51:03.157 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:33.160 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:00.281 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:52:03.162 [info] {"source":"oban","duration":1434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:33.164 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:00.282 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:53:03.167 [info] {"source":"oban","duration":1316,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:33.170 [info] {"source":"oban","duration":1873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:00.283 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:54:03.172 [info] {"source":"oban","duration":1335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:33.173 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:00.285 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:55:03.175 [info] {"source":"oban","duration":1373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:33.177 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:00.289 [info] {"source":"oban","duration":1228,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:56:03.179 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:33.180 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:00.290 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:57:03.182 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:33.184 [info] {"source":"oban","duration":1320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:00.291 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:58:03.186 [info] {"source":"oban","duration":1850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:33.189 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:00.293 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:59:03.191 [info] {"source":"oban","duration":1403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:33.193 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:00.294 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:00:03.195 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:33.197 [info] {"source":"oban","duration":1755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:00.295 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:01:03.200 [info] {"source":"oban","duration":1421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:33.203 [info] {"source":"oban","duration":1236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:00.297 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:02:03.207 [info] {"source":"oban","duration":2096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:33.209 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:00.298 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:03:03.210 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:33.213 [info] {"source":"oban","duration":1880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.299 [info] {"source":"oban","duration":157,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:04:03.215 [info] {"source":"oban","duration":1317,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:33.217 [info] {"source":"oban","duration":1268,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.300 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:05:03.219 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:33.221 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.302 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:06:03.224 [info] {"source":"oban","duration":1884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:33.226 [info] {"source":"oban","duration":1342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:00.303 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:07:03.228 [info] {"source":"oban","duration":1303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:33.230 [info] {"source":"oban","duration":1807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:00.304 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:08:03.233 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:33.236 [info] {"source":"oban","duration":1867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:00.305 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:09:03.239 [info] {"source":"oban","duration":1851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:33.242 [info] {"source":"oban","duration":1923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:00.306 [info] {"source":"oban","duration":304,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:10:03.244 [info] {"source":"oban","duration":1462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:33.247 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:00.308 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:11:03.250 [info] {"source":"oban","duration":1064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:33.253 [info] {"source":"oban","duration":2182,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:00.309 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:12:03.255 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:33.258 [info] {"source":"oban","duration":2437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:00.310 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:13:03.260 [info] {"source":"oban","duration":1822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:33.263 [info] {"source":"oban","duration":1317,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:00.311 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:14:03.265 [info] {"source":"oban","duration":1494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:33.267 [info] {"source":"oban","duration":1326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:00.312 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:15:03.269 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:33.271 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:00.313 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:16:03.274 [info] {"source":"oban","duration":1898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:33.276 [info] {"source":"oban","duration":1411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:00.314 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:17:03.279 [info] {"source":"oban","duration":1339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:33.281 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:00.315 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:18:03.282 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:33.284 [info] {"source":"oban","duration":1441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:00.316 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:19:03.288 [info] {"source":"oban","duration":1898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:33.290 [info] {"source":"oban","duration":1442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:00.318 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:20:03.293 [info] {"source":"oban","duration":1857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:33.296 [info] {"source":"oban","duration":2786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:00.320 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:21:03.299 [info] {"source":"oban","duration":1378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:33.301 [info] {"source":"oban","duration":1696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:00.321 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:22:03.303 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:33.305 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:00.322 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:23:03.307 [info] {"source":"oban","duration":1280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:33.309 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:00.324 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:24:03.311 [info] {"source":"oban","duration":1311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:33.312 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.326 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:25:03.315 [info] {"source":"oban","duration":2225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:33.316 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:00.328 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:26:03.318 [info] {"source":"oban","duration":1325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:33.319 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:00.329 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:27:03.321 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:33.324 [info] {"source":"oban","duration":1848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:00.330 [info] {"source":"oban","duration":343,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:28:03.326 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:33.328 [info] {"source":"oban","duration":1801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:00.331 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:29:03.331 [info] {"source":"oban","duration":1462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:33.334 [info] {"source":"oban","duration":2864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:00.333 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:30:03.336 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:33.338 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:00.334 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:31:03.339 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:33.341 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.335 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:32:03.343 [info] {"source":"oban","duration":1366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:33.346 [info] {"source":"oban","duration":1935,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:00.336 [info] {"source":"oban","duration":335,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:33:03.348 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:33.351 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:00.337 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:34:03.353 [info] {"source":"oban","duration":1381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:33.355 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:00.338 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:35:03.357 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:33.360 [info] {"source":"oban","duration":1403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:00.339 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:36:03.363 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:33.364 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:00.341 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:37:03.365 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:33.367 [info] {"source":"oban","duration":1459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.342 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:38:03.370 [info] {"source":"oban","duration":1770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:33.372 [info] {"source":"oban","duration":1885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.343 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:39:03.375 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:33.377 [info] {"source":"oban","duration":1885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:00.344 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:40:03.380 [info] {"source":"oban","duration":1329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:33.382 [info] {"source":"oban","duration":1475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:00.345 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:41:03.384 [info] {"source":"oban","duration":1359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:33.386 [info] {"source":"oban","duration":1347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:00.346 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:42:03.388 [info] {"source":"oban","duration":1221,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:33.390 [info] {"source":"oban","duration":1272,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:00.347 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:43:03.392 [info] {"source":"oban","duration":1725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:33.395 [info] {"source":"oban","duration":1854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.348 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:44:03.397 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:33.399 [info] {"source":"oban","duration":1347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:00.350 [info] {"source":"oban","duration":284,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:45:03.402 [info] {"source":"oban","duration":1901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:33.404 [info] {"source":"oban","duration":1849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.351 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:46:03.406 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:33.408 [info] {"source":"oban","duration":1451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:00.352 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:47:03.409 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:33.411 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:00.353 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:48:03.413 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:33.416 [info] {"source":"oban","duration":1144,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:00.354 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:49:03.417 [info] {"source":"oban","duration":903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:33.419 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.355 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:50:03.420 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:33.421 [info] {"source":"oban","duration":843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:00.356 [info] {"source":"oban","duration":162,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:51:03.424 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:33.425 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.357 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:52:03.426 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:33.427 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:00.358 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:53:03.428 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:33.429 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:00.359 [info] {"source":"oban","duration":157,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:54:03.430 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:33.431 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:00.360 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:55:03.433 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:33.434 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.361 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:56:03.435 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:33.436 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:00.362 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:57:03.438 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:33.439 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:00.363 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:58:03.440 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:33.441 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:00.365 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:59:03.443 [info] {"source":"oban","duration":1218,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:33.445 [info] {"source":"oban","duration":1076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:00.366 [info] {"source":"oban","duration":333,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:00:03.446 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:33.448 [info] {"source":"oban","duration":1155,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:00.367 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:01:03.449 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:33.451 [info] {"source":"oban","duration":1348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:00.368 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:02:03.453 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:33.455 [info] {"source":"oban","duration":971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:00.370 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:03:03.457 [info] {"source":"oban","duration":1137,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:33.458 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:00.371 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:04:03.460 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:33.461 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:00.372 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:05:03.462 [info] {"source":"oban","duration":816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:33.464 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:00.375 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:06:03.466 [info] {"source":"oban","duration":1219,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:33.467 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:00.376 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:07:03.470 [info] {"source":"oban","duration":1459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:33.472 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:00.377 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:08:03.474 [info] {"source":"oban","duration":1305,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:33.475 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:00.378 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:09:03.477 [info] {"source":"oban","duration":1502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:33.479 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:00.379 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:10:03.481 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:33.483 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:00.380 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:11:03.486 [info] {"source":"oban","duration":1924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:33.488 [info] {"source":"oban","duration":929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:00.382 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:12:03.491 [info] {"source":"oban","duration":2234,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:33.493 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:00.384 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:13:03.495 [info] {"source":"oban","duration":1672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:33.498 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:00.385 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:14:03.500 [info] {"source":"oban","duration":1719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:33.503 [info] {"source":"oban","duration":1006,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:00.386 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:15:03.504 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:33.506 [info] {"source":"oban","duration":1069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:00.387 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:16:03.509 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:33.512 [info] {"source":"oban","duration":2245,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:00.388 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:17:03.514 [info] {"source":"oban","duration":1339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:33.516 [info] {"source":"oban","duration":1337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:00.389 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:18:03.518 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:33.520 [info] {"source":"oban","duration":1315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:00.391 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:19:03.521 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:33.524 [info] {"source":"oban","duration":1351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:00.392 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:20:03.527 [info] {"source":"oban","duration":1919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:33.529 [info] {"source":"oban","duration":1506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:00.393 [info] {"source":"oban","duration":250,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:21:03.532 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:33.534 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:00.394 [info] {"source":"oban","duration":323,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:22:03.536 [info] {"source":"oban","duration":1346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:33.538 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:00.395 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:23:03.541 [info] {"source":"oban","duration":2069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:33.543 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:00.396 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:24:03.545 [info] {"source":"oban","duration":1301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:33.547 [info] {"source":"oban","duration":1480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:00.397 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:25:03.550 [info] {"source":"oban","duration":1743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:33.552 [info] {"source":"oban","duration":1481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:00.398 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:26:03.555 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:33.558 [info] {"source":"oban","duration":1868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:00.399 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:27:03.560 [info] {"source":"oban","duration":1442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:33.564 [info] {"source":"oban","duration":1878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:00.401 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:28:03.566 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:33.568 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:00.402 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:29:03.569 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:33.572 [info] {"source":"oban","duration":1951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:00.403 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:30:03.574 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:33.575 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:00.404 [info] {"source":"oban","duration":280,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:31:03.578 [info] {"source":"oban","duration":1886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:33.580 [info] {"source":"oban","duration":1229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:00.405 [info] {"source":"oban","duration":254,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:32:03.582 [info] {"source":"oban","duration":1378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:33.584 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:00.406 [info] {"source":"oban","duration":166,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:33:03.587 [info] {"source":"oban","duration":1348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:33.589 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:00.407 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:34:03.591 [info] {"source":"oban","duration":1284,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:33.593 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:00.408 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:35:03.595 [info] {"source":"oban","duration":1342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:33.598 [info] {"source":"oban","duration":1894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:00.409 [info] {"source":"oban","duration":257,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:36:03.601 [info] {"source":"oban","duration":1883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:33.604 [info] {"source":"oban","duration":1926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:00.410 [info] {"source":"oban","duration":224,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:37:03.606 [info] {"source":"oban","duration":1910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:33.610 [info] {"source":"oban","duration":1885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:00.411 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:38:03.611 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:33.613 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:00.412 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:39:03.615 [info] {"source":"oban","duration":1812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:33.618 [info] {"source":"oban","duration":1916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:00.413 [info] {"source":"oban","duration":135,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:40:03.621 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:33.623 [info] {"source":"oban","duration":1111,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:00.414 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:41:03.625 [info] {"source":"oban","duration":1637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:33.626 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:00.415 [info] {"source":"oban","duration":150,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:42:03.629 [info] {"source":"oban","duration":1226,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:33.632 [info] {"source":"oban","duration":1875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:00.416 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:43:03.634 [info] {"source":"oban","duration":1445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:33.636 [info] {"source":"oban","duration":1765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:00.417 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:44:03.639 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:33.642 [info] {"source":"oban","duration":2514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:00.418 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:45:03.645 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:33.647 [info] {"source":"oban","duration":1198,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:00.419 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:46:03.649 [info] {"source":"oban","duration":1728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:33.651 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:00.420 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:47:03.654 [info] {"source":"oban","duration":1233,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:33.655 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:00.421 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:48:03.658 [info] {"source":"oban","duration":2375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:33.660 [info] {"source":"oban","duration":1348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:00.422 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:49:03.662 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:33.665 [info] {"source":"oban","duration":2471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:00.423 [info] {"source":"oban","duration":156,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:50:03.667 [info] {"source":"oban","duration":1198,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:33.670 [info] {"source":"oban","duration":1667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:00.424 [info] {"source":"oban","duration":240,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:51:03.673 [info] {"source":"oban","duration":1892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:33.675 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:00.425 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:52:03.677 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:33.679 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:00.426 [info] {"source":"oban","duration":168,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:53:03.682 [info] {"source":"oban","duration":1881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:33.684 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:00.427 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:54:03.685 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:33.687 [info] {"source":"oban","duration":1096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:00.428 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:55:03.689 [info] {"source":"oban","duration":1423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:33.692 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:00.429 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:56:03.695 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:33.697 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:00.430 [info] {"source":"oban","duration":164,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:57:03.699 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:33.702 [info] {"source":"oban","duration":2438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:00.431 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:58:03.704 [info] {"source":"oban","duration":1485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:33.706 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:00.432 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:59:03.708 [info] {"source":"oban","duration":1334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:33.710 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:00.433 [info] {"source":"oban","duration":258,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:00:03.712 [info] {"source":"oban","duration":1187,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:33.713 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:00.434 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:01:03.715 [info] {"source":"oban","duration":1459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:33.717 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:00.435 [info] {"source":"oban","duration":246,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:02:03.719 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:33.721 [info] {"source":"oban","duration":1064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:00.436 [info] {"source":"oban","duration":138,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:03:03.723 [info] {"source":"oban","duration":1286,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:33.725 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:00.437 [info] {"source":"oban","duration":222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:04:03.728 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:33.730 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:00.438 [info] {"source":"oban","duration":158,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:05:03.732 [info] {"source":"oban","duration":1203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:33.734 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:00.439 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:06:03.736 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:33.738 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:00.440 [info] {"source":"oban","duration":267,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:07:03.740 [info] {"source":"oban","duration":1367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:33.742 [info] {"source":"oban","duration":1305,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:00.441 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:08:03.744 [info] {"source":"oban","duration":1420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:33.746 [info] {"source":"oban","duration":1134,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:00.442 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:09:03.748 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:33.750 [info] {"source":"oban","duration":1411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:00.443 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:10:03.752 [info] {"source":"oban","duration":1230,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:33.754 [info] {"source":"oban","duration":1369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:00.444 [info] {"source":"oban","duration":337,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:11:03.757 [info] {"source":"oban","duration":2389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:33.759 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:00.445 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:12:03.761 [info] {"source":"oban","duration":1266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:33.763 [info] {"source":"oban","duration":1488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:00.446 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:13:03.767 [info] {"source":"oban","duration":1123,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:33.769 [info] {"source":"oban","duration":1482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:00.447 [info] {"source":"oban","duration":224,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:14:03.771 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:33.773 [info] {"source":"oban","duration":1434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:00.448 [info] {"source":"oban","duration":158,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:15:03.775 [info] {"source":"oban","duration":1268,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:33.778 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:00.449 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:16:03.780 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:33.782 [info] {"source":"oban","duration":1442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:00.450 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:17:03.784 [info] {"source":"oban","duration":1315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:33.786 [info] {"source":"oban","duration":1312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:00.451 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:18:03.788 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:33.789 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:00.452 [info] {"source":"oban","duration":135,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:19:03.791 [info] {"source":"oban","duration":1359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:33.793 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:00.453 [info] {"source":"oban","duration":282,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:20:03.795 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:33.796 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:00.454 [info] {"source":"oban","duration":162,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:21:03.798 [info] {"source":"oban","duration":1292,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:33.800 [info] {"source":"oban","duration":1861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:00.455 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:22:03.803 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:33.806 [info] {"source":"oban","duration":1883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:00.456 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:23:03.808 [info] {"source":"oban","duration":1069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:33.810 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:00.457 [info] {"source":"oban","duration":255,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:24:03.812 [info] {"source":"oban","duration":1879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:33.815 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:00.458 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:25:03.817 [info] {"source":"oban","duration":1467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:33.820 [info] {"source":"oban","duration":1435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:00.459 [info] {"source":"oban","duration":165,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:26:03.823 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:33.825 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:00.460 [info] {"source":"oban","duration":168,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:27:03.828 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:33.830 [info] {"source":"oban","duration":1357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:00.461 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:28:03.832 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:33.833 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:00.462 [info] {"source":"oban","duration":284,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:29:03.835 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:33.837 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:00.463 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:30:03.839 [info] {"source":"oban","duration":1381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:33.841 [info] {"source":"oban","duration":1443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:00.464 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:31:03.844 [info] {"source":"oban","duration":1329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:33.846 [info] {"source":"oban","duration":1827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:00.465 [info] {"source":"oban","duration":305,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:32:03.850 [info] {"source":"oban","duration":2552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:33.852 [info] {"source":"oban","duration":1528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:00.466 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:33:03.860 [info] {"source":"oban","duration":6489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:33.862 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:00.467 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:34:03.864 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:33.866 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:00.468 [info] {"source":"oban","duration":248,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:35:03.867 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:33.869 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:00.469 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:36:03.872 [info] {"source":"oban","duration":1342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:33.874 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:00.470 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:37:03.876 [info] {"source":"oban","duration":1343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:33.880 [info] {"source":"oban","duration":3676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:00.471 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:38:03.882 [info] {"source":"oban","duration":1381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:33.884 [info] {"source":"oban","duration":1861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:00.473 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:39:03.887 [info] {"source":"oban","duration":1345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:33.889 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:00.474 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:40:03.891 [info] {"source":"oban","duration":1364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:33.893 [info] {"source":"oban","duration":1442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:00.476 [info] {"source":"oban","duration":222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:41:03.895 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:33.897 [info] {"source":"oban","duration":1444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:00.477 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:42:03.900 [info] {"source":"oban","duration":1812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:33.902 [info] {"source":"oban","duration":1344,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:00.478 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:43:03.904 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:33.910 [info] {"source":"oban","duration":3345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:00.479 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:44:03.912 [info] {"source":"oban","duration":1303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:33.914 [info] {"source":"oban","duration":1664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:00.480 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:45:03.917 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:33.919 [info] {"source":"oban","duration":1750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:00.481 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:46:03.922 [info] {"source":"oban","duration":1341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:33.924 [info] {"source":"oban","duration":1743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:00.482 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:47:03.927 [info] {"source":"oban","duration":1753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:33.931 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:00.483 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:48:03.933 [info] {"source":"oban","duration":1310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:33.935 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:00.484 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:49:03.937 [info] {"source":"oban","duration":1350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:33.939 [info] {"source":"oban","duration":1318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:00.486 [info] {"source":"oban","duration":1179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:50:03.941 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:33.943 [info] {"source":"oban","duration":1796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:00.487 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:51:03.946 [info] {"source":"oban","duration":1199,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:33.948 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:00.488 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:52:03.950 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:33.952 [info] {"source":"oban","duration":1482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:00.489 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:53:03.955 [info] {"source":"oban","duration":1330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:33.957 [info] {"source":"oban","duration":1203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:00.490 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:54:03.960 [info] {"source":"oban","duration":1851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:33.962 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:00.491 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:55:03.964 [info] {"source":"oban","duration":1207,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:33.967 [info] {"source":"oban","duration":1945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:00.492 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:56:03.969 [info] {"source":"oban","duration":1421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:33.972 [info] {"source":"oban","duration":1320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:00.493 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:57:03.974 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:33.976 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:00.494 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:58:03.977 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:33.979 [info] {"source":"oban","duration":1902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:00.495 [info] {"source":"oban","duration":313,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:59:03.982 [info] {"source":"oban","duration":1082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:33.985 [info] {"source":"oban","duration":1914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:00.496 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:00:03.986 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:33.990 [info] {"source":"oban","duration":1940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:00.497 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:01:03.991 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:33.993 [info] {"source":"oban","duration":1367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:00.498 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:02:03.995 [info] {"source":"oban","duration":1315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:33.997 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:00.499 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:03:03.999 [info] {"source":"oban","duration":1140,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:34.001 [info] {"source":"oban","duration":1688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:00.500 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:04:04.005 [info] {"source":"oban","duration":1912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:34.007 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:00.502 [info] {"source":"oban","duration":249,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:05:04.013 [info] {"source":"oban","duration":5593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:34.015 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:00.503 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:06:04.017 [info] {"source":"oban","duration":1349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:34.019 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:00.504 [info] {"source":"oban","duration":279,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:07:04.021 [info] {"source":"oban","duration":1114,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:34.023 [info] {"source":"oban","duration":1314,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:00.505 [info] {"source":"oban","duration":288,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:08:04.024 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:34.027 [info] {"source":"oban","duration":1986,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:00.506 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:09:04.028 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:34.030 [info] {"source":"oban","duration":1373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:00.507 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:10:04.032 [info] {"source":"oban","duration":1720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:34.035 [info] {"source":"oban","duration":1839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:00.508 [info] {"source":"oban","duration":147,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:11:04.037 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:34.040 [info] {"source":"oban","duration":2196,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:00.509 [info] {"source":"oban","duration":325,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:12:04.041 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:34.042 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:00.510 [info] {"source":"oban","duration":324,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:13:04.044 [info] {"source":"oban","duration":1049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:34.046 [info] {"source":"oban","duration":1112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:00.511 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:14:04.047 [info] {"source":"oban","duration":927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:34.049 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:00.513 [info] {"source":"oban","duration":268,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:15:04.052 [info] {"source":"oban","duration":2602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:34.055 [info] {"source":"oban","duration":1290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:00.514 [info] {"source":"oban","duration":324,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:16:04.056 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:34.059 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:00.515 [info] {"source":"oban","duration":282,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:17:04.060 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:34.064 [info] {"source":"oban","duration":3145,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:00.516 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:18:04.065 [info] {"source":"oban","duration":816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:34.067 [info] {"source":"oban","duration":852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:00.517 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:19:04.070 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:34.071 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:00.518 [info] {"source":"oban","duration":324,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:20:04.073 [info] {"source":"oban","duration":1079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:34.075 [info] {"source":"oban","duration":1138,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:00.519 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:21:04.077 [info] {"source":"oban","duration":1375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:34.079 [info] {"source":"oban","duration":1151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:00.520 [info] {"source":"oban","duration":276,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:22:04.081 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:34.083 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:00.521 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:23:04.085 [info] {"source":"oban","duration":1408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:34.087 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:00.522 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:24:04.089 [info] {"source":"oban","duration":1618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:34.091 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:00.523 [info] {"source":"oban","duration":335,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:25:04.093 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:34.094 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:00.524 [info] {"source":"oban","duration":310,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:26:04.097 [info] {"source":"oban","duration":1241,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:34.099 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:00.525 [info] {"source":"oban","duration":325,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:27:04.101 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:34.103 [info] {"source":"oban","duration":1353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:00.526 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:28:04.105 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:34.107 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:00.527 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:29:04.110 [info] {"source":"oban","duration":1891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:34.113 [info] {"source":"oban","duration":1904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:00.528 [info] {"source":"oban","duration":243,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:30:04.115 [info] {"source":"oban","duration":1227,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:34.117 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:00.529 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:31:04.120 [info] {"source":"oban","duration":1707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:34.122 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:00.530 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:32:04.124 [info] {"source":"oban","duration":1341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:34.127 [info] {"source":"oban","duration":2423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:00.531 [info] {"source":"oban","duration":229,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:33:04.130 [info] {"source":"oban","duration":1444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:34.132 [info] {"source":"oban","duration":1454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:00.532 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:34:04.135 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:34.137 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:00.533 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:35:04.139 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:34.141 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:00.534 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:36:04.144 [info] {"source":"oban","duration":1889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:34.146 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:00.536 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:37:04.149 [info] {"source":"oban","duration":1919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:34.151 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:00.538 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:38:04.153 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:34.155 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:00.539 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:39:04.158 [info] {"source":"oban","duration":1064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:34.160 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:00.540 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:40:04.162 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:34.164 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:00.541 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:41:04.167 [info] {"source":"oban","duration":1360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:34.169 [info] {"source":"oban","duration":1267,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:00.542 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:42:04.171 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:34.173 [info] {"source":"oban","duration":1279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:00.543 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:43:04.175 [info] {"source":"oban","duration":1337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:34.177 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:00.544 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:44:04.180 [info] {"source":"oban","duration":1374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:34.182 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:00.545 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:45:04.184 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:34.187 [info] {"source":"oban","duration":1969,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:00.546 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:46:04.190 [info] {"source":"oban","duration":1875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:34.192 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:00.548 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:47:04.195 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:34.198 [info] {"source":"oban","duration":1840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:00.549 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:48:04.200 [info] {"source":"oban","duration":1458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:34.203 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:00.550 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:49:04.206 [info] {"source":"oban","duration":1876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:34.209 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:00.551 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:50:04.211 [info] {"source":"oban","duration":1329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:34.213 [info] {"source":"oban","duration":1138,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:00.552 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:51:04.214 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:34.216 [info] {"source":"oban","duration":1443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:00.553 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:52:04.218 [info] {"source":"oban","duration":1678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:34.221 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:00.554 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:53:04.223 [info] {"source":"oban","duration":1355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:34.225 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:00.555 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:54:04.227 [info] {"source":"oban","duration":1378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:34.229 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:00.557 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:55:04.232 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:34.234 [info] {"source":"oban","duration":1390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:00.558 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:56:04.236 [info] {"source":"oban","duration":1378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:34.238 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:00.559 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:57:04.240 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:34.242 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:00.560 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:58:04.244 [info] {"source":"oban","duration":1641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:34.246 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:00.562 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:59:04.248 [info] {"source":"oban","duration":1327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:34.250 [info] {"source":"oban","duration":1693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:00.563 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:00:04.252 [info] {"source":"oban","duration":1267,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:34.254 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:00.564 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:01:04.256 [info] {"source":"oban","duration":1453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:34.259 [info] {"source":"oban","duration":1420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:00.565 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:02:04.261 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:34.262 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:00.567 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:03:04.265 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:34.267 [info] {"source":"oban","duration":1454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:00.568 [info] {"source":"oban","duration":164,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:04:04.269 [info] {"source":"oban","duration":1460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:34.271 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:00.569 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:05:04.273 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:34.276 [info] {"source":"oban","duration":1313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:00.570 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:06:04.278 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:34.280 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:00.571 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:07:04.282 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:34.284 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:00.575 [info] {"source":"oban","duration":3344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:08:04.287 [info] {"source":"oban","duration":2084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:34.289 [info] {"source":"oban","duration":1666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:00.576 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:09:04.292 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:34.294 [info] {"source":"oban","duration":1387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:00.578 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:10:04.297 [info] {"source":"oban","duration":1850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:34.299 [info] {"source":"oban","duration":1454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:00.579 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:11:04.302 [info] {"source":"oban","duration":1838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:34.304 [info] {"source":"oban","duration":892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:00.580 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:12:04.306 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:34.308 [info] {"source":"oban","duration":1445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:00.581 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:13:04.311 [info] {"source":"oban","duration":1330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:34.313 [info] {"source":"oban","duration":1890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:00.582 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:14:04.317 [info] {"source":"oban","duration":1906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:34.318 [info] {"source":"oban","duration":883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:00.583 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:15:04.321 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:34.323 [info] {"source":"oban","duration":1450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:00.584 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:16:04.325 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:34.327 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:00.585 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:17:04.329 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:34.332 [info] {"source":"oban","duration":1388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:00.586 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:18:04.335 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:34.337 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:00.587 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:19:04.339 [info] {"source":"oban","duration":1331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:34.341 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:00.588 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:20:04.344 [info] {"source":"oban","duration":1857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:34.345 [info] {"source":"oban","duration":914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:00.589 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:21:04.347 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:34.349 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:00.590 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:22:04.351 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:34.353 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:00.591 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:23:04.356 [info] {"source":"oban","duration":1408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:34.358 [info] {"source":"oban","duration":1345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:00.592 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:24:04.361 [info] {"source":"oban","duration":1957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:34.363 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:00.594 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:25:04.365 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:34.368 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:00.595 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:26:04.370 [info] {"source":"oban","duration":1361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:34.374 [info] {"source":"oban","duration":3280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:00.596 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:27:04.377 [info] {"source":"oban","duration":2592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:34.380 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:00.597 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:28:04.383 [info] {"source":"oban","duration":2301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:34.385 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:00.598 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:29:04.387 [info] {"source":"oban","duration":1760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:34.389 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:00.600 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:30:04.392 [info] {"source":"oban","duration":2036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:34.393 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:00.602 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:31:04.394 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:34.395 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:00.603 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:32:04.396 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:34.399 [info] {"source":"oban","duration":2502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:00.604 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:33:04.400 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:34.402 [info] {"source":"oban","duration":1690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:00.605 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:34:04.403 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:34.405 [info] {"source":"oban","duration":1159,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:00.606 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:35:04.409 [info] {"source":"oban","duration":848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:34.410 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:43.674 [info] {"args":{"id":3},"id":394,"meta":{},"system_time":1771263343673940202,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 17:35:43.675 [debug] QUERY OK source="sources" db=0.5ms idle=1810.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:35:43.675 [debug] QUERY OK source="settings" db=0.4ms idle=1811.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:35:43.677 [debug] QUERY OK source="media_profiles" db=0.7ms idle=1012.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:35:43.678 [debug] QUERY OK source="settings" db=0.6ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:35:43.678 [debug] QUERY OK source="settings" db=0.1ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:35:43.682 [debug] QUERY OK source="media_items" db=2.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 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [3] 17:35:43.686 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 17:35:43.686 [debug] Current batch of media processed. Will check again in 1000ms 17:35:43.686 [debug] QUERY OK source="settings" db=0.4ms idle=10.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:35:43.687 [debug] QUERY OK source="settings" db=0.2ms 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 [] 17:35:43.688 [debug] QUERY OK source="settings" db=0.7ms idle=9.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:35:43.689 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@wildhomestead --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/WILD HOMESTEAD/%(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/47/38/47388e74280d75036a9389ee081e47cac2bd66c679e05de52413dead620fb86d.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/2b/71/2b71e525257a071c0daeb772dbcb5b1cca9e0c802092a4e1341f4618fef5bda6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:35:44.691 [debug] Current batch of media processed. Will check again in 1000ms 17:35:45.692 [debug] Current batch of media processed. Will check again in 1000ms 17:35:46.693 [debug] Current batch of media processed. Will check again in 1000ms 17:35:47.694 [debug] Current batch of media processed. Will check again in 1000ms 17:35:48.696 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3245, "filename" => "/downloads/WILD HOMESTEAD/Log Outhouse Roof + Walls, Ice Fishing |EP93| Log Cabin Build on Off-Grid Homestead/Log Outhouse Roof + Walls, Ice Fishing |EP93| Log Cabin Build on Off-Grid Homestead [MsJjDlWtgGk].mp4", "id" => "MsJjDlWtgGk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MsJjDlWtgGk", "playlist_index" => 1, "timestamp" => 1770462040, "title" => "Log Outhouse Roof + Walls, Ice Fishing |EP93| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20260207"} 17:35:48.697 [debug] QUERY OK source="sources" db=0.8ms idle=1832.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:35:48.698 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1833.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:35:48.700 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=1835.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-07 11:00:40Z], 3] 17:35:48.705 [debug] QUERY OK source="media_items" db=3.0ms idle=1024.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Log Outhouse Roof + Walls, Ice Fishing |EP93| Log Cabin Build on Off-Grid Homestead", "52394cd5-20ae-4457-94ec-02d129a64b8c", 3245, false, "MsJjDlWtgGk", "https://www.youtube.com/watch?v=MsJjDlWtgGk", 1, "/downloads/WILD HOMESTEAD/Log Outhouse Roof + Walls, Ice Fishing |EP93| Log Cabin Build on Off-Grid Homestead/Log Outhouse Roof + Walls, Ice Fishing |EP93| Log Cabin Build on Off-Grid Homestead [MsJjDlWtgGk].mp4", false, false, false, 3, [], 98, ~U[2026-02-07 11:00:40Z], ~U[2026-02-16 17:35:48Z], ~U[2026-02-16 17:35:48Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Log Outhouse Roof + Walls, Ice Fishing |EP93| Log Cabin Build on Off-Grid Homestead", 3245, false, "MsJjDlWtgGk", "https://www.youtube.com/watch?v=MsJjDlWtgGk", "/downloads/WILD HOMESTEAD/Log Outhouse Roof + Walls, Ice Fishing |EP93| Log Cabin Build on Off-Grid Homestead/Log Outhouse Roof + Walls, Ice Fishing |EP93| Log Cabin Build on Off-Grid Homestead [MsJjDlWtgGk].mp4", false, 3, ~U[2026-02-07 11:00:40Z]] 17:35:48.706 [debug] QUERY OK source="sources" db=0.6ms idle=25.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:35:48.706 [debug] Current batch of media processed. Will check again in 1000ms 17:35:49.707 [debug] Current batch of media processed. Will check again in 1000ms 17:35:50.708 [debug] Current batch of media processed. Will check again in 1000ms 17:35:51.709 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3140, "filename" => "/downloads/WILD HOMESTEAD/Deep Winter Struggle: Rustic Outhouse, Hand Peeled Logs |EP92| Log Cabin Build on Off-Grid Homestead/Deep Winter Struggle: Rustic Outhouse, Hand Peeled Logs |EP92| Log Cabin Build on Off-Grid Homestead [kIGGvdBWf8k].mp4", "id" => "kIGGvdBWf8k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kIGGvdBWf8k", "playlist_index" => 2, "timestamp" => 1769857278, "title" => "Deep Winter Struggle: Rustic Outhouse, Hand Peeled Logs |EP92| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20260131"} 17:35:51.711 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1846.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:35:51.712 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1847.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:35:51.714 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=1849.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-31 11:01:18Z], 3] 17:35:51.718 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=1032.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Deep Winter Struggle: Rustic Outhouse, Hand Peeled Logs |EP92| Log Cabin Build on Off-Grid Homestead", "771943c8-bf7b-4be5-8289-23d99436c2eb", 3140, false, "kIGGvdBWf8k", "https://www.youtube.com/watch?v=kIGGvdBWf8k", 2, "/downloads/WILD HOMESTEAD/Deep Winter Struggle: Rustic Outhouse, Hand Peeled Logs |EP92| Log Cabin Build on Off-Grid Homestead/Deep Winter Struggle: Rustic Outhouse, Hand Peeled Logs |EP92| Log Cabin Build on Off-Grid Homestead [kIGGvdBWf8k].mp4", false, false, false, 3, [], 98, ~U[2026-01-31 11:01:18Z], ~U[2026-02-16 17:35:51Z], ~U[2026-02-16 17:35:51Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Deep Winter Struggle: Rustic Outhouse, Hand Peeled Logs |EP92| Log Cabin Build on Off-Grid Homestead", 3140, false, "kIGGvdBWf8k", "https://www.youtube.com/watch?v=kIGGvdBWf8k", "/downloads/WILD HOMESTEAD/Deep Winter Struggle: Rustic Outhouse, Hand Peeled Logs |EP92| Log Cabin Build on Off-Grid Homestead/Deep Winter Struggle: Rustic Outhouse, Hand Peeled Logs |EP92| Log Cabin Build on Off-Grid Homestead [kIGGvdBWf8k].mp4", false, 3, ~U[2026-01-31 11:01:18Z]] 17:35:51.720 [debug] QUERY OK source="sources" db=0.7ms idle=33.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:35:51.720 [debug] Current batch of media processed. Will check again in 1000ms 17:35:52.721 [debug] Current batch of media processed. Will check again in 1000ms 17:35:53.722 [debug] Current batch of media processed. Will check again in 1000ms 17:35:54.723 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nSIP SAUNAS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3211, "filename" => "/downloads/WILD HOMESTEAD/-30º Snow Storm: Fixing Sauna Error, Rustic Outhouse |EP91| Log Cabin Build on Off-Grid Homestead/-30º Snow Storm: Fixing Sauna Error, Rustic Outhouse |EP91| Log Cabin Build on Off-Grid Homestead [YkKrUiDWpfk].mp4", "id" => "YkKrUiDWpfk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=YkKrUiDWpfk", "playlist_index" => 3, "timestamp" => 1769252464, "title" => "-30º Snow Storm: Fixing Sauna Error, Rustic Outhouse |EP91| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20260124"} 17:35:54.725 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1859.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:35:54.726 [debug] QUERY OK source="sources" db=0.3ms idle=1861.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:35:54.727 [debug] QUERY OK source="media_items" db=0.9ms idle=1862.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-24 11:01:04Z], 3] 17:35:54.730 [debug] QUERY OK source="media_items" db=2.0ms idle=1039.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nSIP SAUNAS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "-30º Snow Storm: Fixing Sauna Error, Rustic Outhouse |EP91| Log Cabin Build on Off-Grid Homestead", "0455bb6b-ef19-4654-a2b8-0393a2a4e620", 3211, false, "YkKrUiDWpfk", "https://www.youtube.com/watch?v=YkKrUiDWpfk", 3, "/downloads/WILD HOMESTEAD/-30º Snow Storm: Fixing Sauna Error, Rustic Outhouse |EP91| Log Cabin Build on Off-Grid Homestead/-30º Snow Storm: Fixing Sauna Error, Rustic Outhouse |EP91| Log Cabin Build on Off-Grid Homestead [YkKrUiDWpfk].mp4", false, false, false, 3, [], 98, ~U[2026-01-24 11:01:04Z], ~U[2026-02-16 17:35:54Z], ~U[2026-02-16 17:35:54Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nSIP SAUNAS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "-30º Snow Storm: Fixing Sauna Error, Rustic Outhouse |EP91| Log Cabin Build on Off-Grid Homestead", 3211, false, "YkKrUiDWpfk", "https://www.youtube.com/watch?v=YkKrUiDWpfk", "/downloads/WILD HOMESTEAD/-30º Snow Storm: Fixing Sauna Error, Rustic Outhouse |EP91| Log Cabin Build on Off-Grid Homestead/-30º Snow Storm: Fixing Sauna Error, Rustic Outhouse |EP91| Log Cabin Build on Off-Grid Homestead [YkKrUiDWpfk].mp4", false, 3, ~U[2026-01-24 11:01:04Z]] 17:35:54.731 [debug] QUERY OK source="sources" db=0.7ms idle=36.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:35:54.731 [debug] Current batch of media processed. Will check again in 1000ms 17:35:55.732 [debug] Current batch of media processed. Will check again in 1000ms 17:35:56.733 [debug] Current batch of media processed. Will check again in 1000ms 17:35:57.734 [debug] Current batch of media processed. Will check again in 1000ms 17:35:58.736 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nSIP SAUNAS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3086, "filename" => "/downloads/WILD HOMESTEAD/WOLVES, Sauna: Door, Stove + FIRST Session |EP90| Log Cabin Build on Off-Grid Homestead/WOLVES, Sauna: Door, Stove + FIRST Session |EP90| Log Cabin Build on Off-Grid Homestead [LzXtEQsELYQ].mp4", "id" => "LzXtEQsELYQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LzXtEQsELYQ", "playlist_index" => 4, "timestamp" => 1768647641, "title" => "WOLVES, Sauna: Door, Stove + FIRST Session |EP90| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20260117"} 17:35:58.737 [debug] QUERY OK source="sources" db=0.5ms idle=872.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:35:58.738 [debug] QUERY OK source="sources" db=0.7ms idle=873.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:35:58.739 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=874.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-17 11:00:41Z], 3] 17:35:58.742 [debug] QUERY OK source="media_items" db=1.5ms idle=876.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nSIP SAUNAS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "WOLVES, Sauna: Door, Stove + FIRST Session |EP90| Log Cabin Build on Off-Grid Homestead", "fb0522c9-c650-44a6-9c7c-5fe45f0057df", 3086, false, "LzXtEQsELYQ", "https://www.youtube.com/watch?v=LzXtEQsELYQ", 4, "/downloads/WILD HOMESTEAD/WOLVES, Sauna: Door, Stove + FIRST Session |EP90| Log Cabin Build on Off-Grid Homestead/WOLVES, Sauna: Door, Stove + FIRST Session |EP90| Log Cabin Build on Off-Grid Homestead [LzXtEQsELYQ].mp4", false, false, false, 3, [], 98, ~U[2026-01-17 11:00:41Z], ~U[2026-02-16 17:35:58Z], ~U[2026-02-16 17:35:58Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nSIP SAUNAS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "WOLVES, Sauna: Door, Stove + FIRST Session |EP90| Log Cabin Build on Off-Grid Homestead", 3086, false, "LzXtEQsELYQ", "https://www.youtube.com/watch?v=LzXtEQsELYQ", "/downloads/WILD HOMESTEAD/WOLVES, Sauna: Door, Stove + FIRST Session |EP90| Log Cabin Build on Off-Grid Homestead/WOLVES, Sauna: Door, Stove + FIRST Session |EP90| Log Cabin Build on Off-Grid Homestead [LzXtEQsELYQ].mp4", false, 3, ~U[2026-01-17 11:00:41Z]] 17:35:58.742 [debug] QUERY OK source="sources" db=0.3ms idle=40.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:35:58.743 [debug] Current batch of media processed. Will check again in 1000ms 17:35:59.744 [debug] Current batch of media processed. Will check again in 1000ms 17:36:00.607 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:36:00.745 [debug] Current batch of media processed. Will check again in 1000ms 17:36:01.746 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3377, "filename" => "/downloads/WILD HOMESTEAD/TRESPASSER, Sauna Chimney System |EP89| Log Cabin Build on Off-Grid Homestead/TRESPASSER, Sauna Chimney System |EP89| Log Cabin Build on Off-Grid Homestead [paxZUxR8Qr0].mp4", "id" => "paxZUxR8Qr0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=paxZUxR8Qr0", "playlist_index" => 5, "timestamp" => 1768042895, "title" => "TRESPASSER, Sauna Chimney System |EP89| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20260110"} 17:36:01.747 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1882.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:01.748 [debug] QUERY OK source="sources" db=0.4ms idle=1883.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:01.750 [debug] QUERY OK source="media_items" db=0.9ms idle=1141.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-10 11:01:35Z], 3] 17:36:01.752 [debug] QUERY OK source="media_items" db=1.8ms idle=1046.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "TRESPASSER, Sauna Chimney System |EP89| Log Cabin Build on Off-Grid Homestead", "bfe2dd0b-5cb2-4869-83c6-d657b88784ed", 3377, false, "paxZUxR8Qr0", "https://www.youtube.com/watch?v=paxZUxR8Qr0", 5, "/downloads/WILD HOMESTEAD/TRESPASSER, Sauna Chimney System |EP89| Log Cabin Build on Off-Grid Homestead/TRESPASSER, Sauna Chimney System |EP89| Log Cabin Build on Off-Grid Homestead [paxZUxR8Qr0].mp4", false, false, false, 3, [], 98, ~U[2026-01-10 11:01:35Z], ~U[2026-02-16 17:36:01Z], ~U[2026-02-16 17:36:01Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "TRESPASSER, Sauna Chimney System |EP89| Log Cabin Build on Off-Grid Homestead", 3377, false, "paxZUxR8Qr0", "https://www.youtube.com/watch?v=paxZUxR8Qr0", "/downloads/WILD HOMESTEAD/TRESPASSER, Sauna Chimney System |EP89| Log Cabin Build on Off-Grid Homestead/TRESPASSER, Sauna Chimney System |EP89| Log Cabin Build on Off-Grid Homestead [paxZUxR8Qr0].mp4", false, 3, ~U[2026-01-10 11:01:35Z]] 17:36:01.753 [debug] QUERY OK source="sources" db=0.5ms idle=47.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:01.753 [debug] Current batch of media processed. Will check again in 1000ms 17:36:02.754 [debug] Current batch of media processed. Will check again in 1000ms 17:36:03.755 [debug] Current batch of media processed. Will check again in 1000ms 17:36:04.413 [info] {"source":"oban","duration":951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:04.756 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3433, "filename" => "/downloads/WILD HOMESTEAD/SNOWED IN: Tractor Breaks in Storm, Sauna |EP88| Log Cabin Build on Off-Grid Homestead/SNOWED IN: Tractor Breaks in Storm, Sauna |EP88| Log Cabin Build on Off-Grid Homestead [X3miY6Espt4].mp4", "id" => "X3miY6Espt4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X3miY6Espt4", "playlist_index" => 6, "timestamp" => 1767438060, "title" => "SNOWED IN: Tractor Breaks in Storm, Sauna |EP88| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20260103"} 17:36:04.758 [debug] QUERY OK source="sources" db=0.8ms idle=1893.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:04.759 [debug] QUERY OK source="sources" db=0.6ms idle=1894.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:04.760 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=1049.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-03 11:01:00Z], 3] 17:36:04.762 [debug] QUERY OK source="media_items" db=1.0ms idle=348.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "SNOWED IN: Tractor Breaks in Storm, Sauna |EP88| Log Cabin Build on Off-Grid Homestead", "1ba02e0f-26c3-4cf6-912e-17011de5086b", 3433, false, "X3miY6Espt4", "https://www.youtube.com/watch?v=X3miY6Espt4", 6, "/downloads/WILD HOMESTEAD/SNOWED IN: Tractor Breaks in Storm, Sauna |EP88| Log Cabin Build on Off-Grid Homestead/SNOWED IN: Tractor Breaks in Storm, Sauna |EP88| Log Cabin Build on Off-Grid Homestead [X3miY6Espt4].mp4", false, false, false, 3, [], 98, ~U[2026-01-03 11:01:00Z], ~U[2026-02-16 17:36:04Z], ~U[2026-02-16 17:36:04Z], "Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "SNOWED IN: Tractor Breaks in Storm, Sauna |EP88| Log Cabin Build on Off-Grid Homestead", 3433, false, "X3miY6Espt4", "https://www.youtube.com/watch?v=X3miY6Espt4", "/downloads/WILD HOMESTEAD/SNOWED IN: Tractor Breaks in Storm, Sauna |EP88| Log Cabin Build on Off-Grid Homestead/SNOWED IN: Tractor Breaks in Storm, Sauna |EP88| Log Cabin Build on Off-Grid Homestead [X3miY6Espt4].mp4", false, 3, ~U[2026-01-03 11:01:00Z]] 17:36:04.763 [debug] QUERY OK source="sources" db=0.3ms idle=51.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:04.763 [debug] Current batch of media processed. Will check again in 1000ms 17:36:05.764 [debug] Current batch of media processed. Will check again in 1000ms 17:36:06.765 [debug] Current batch of media processed. Will check again in 1000ms 17:36:07.767 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3496, "filename" => "/downloads/WILD HOMESTEAD/Freezing Rain: Sauna Walls, Saw-milling Lumber |EP87| Log Cabin Build on Off-Grid Homestead/Freezing Rain: Sauna Walls, Saw-milling Lumber |EP87| Log Cabin Build on Off-Grid Homestead [Y1bXxQcoX70].mp4", "id" => "Y1bXxQcoX70", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Y1bXxQcoX70", "playlist_index" => 7, "timestamp" => 1766228467, "title" => "Freezing Rain: Sauna Walls, Saw-milling Lumber |EP87| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20251220"} 17:36:07.769 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=1903.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:07.770 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=1905.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:07.772 [debug] QUERY OK source="media_items" db=1.2ms queue=0.2ms idle=1907.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-20 11:01:07Z], 3] 17:36:07.787 [debug] QUERY OK source="media_items" db=13.5ms idle=1059.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Freezing Rain: Sauna Walls, Saw-milling Lumber |EP87| Log Cabin Build on Off-Grid Homestead", "9fe416d4-0c94-4efb-9d71-b74fd28e4a32", 3496, false, "Y1bXxQcoX70", "https://www.youtube.com/watch?v=Y1bXxQcoX70", 7, "/downloads/WILD HOMESTEAD/Freezing Rain: Sauna Walls, Saw-milling Lumber |EP87| Log Cabin Build on Off-Grid Homestead/Freezing Rain: Sauna Walls, Saw-milling Lumber |EP87| Log Cabin Build on Off-Grid Homestead [Y1bXxQcoX70].mp4", false, false, false, 3, [], 98, ~U[2025-12-20 11:01:07Z], ~U[2026-02-16 17:36:07Z], ~U[2026-02-16 17:36:07Z], "Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Freezing Rain: Sauna Walls, Saw-milling Lumber |EP87| Log Cabin Build on Off-Grid Homestead", 3496, false, "Y1bXxQcoX70", "https://www.youtube.com/watch?v=Y1bXxQcoX70", "/downloads/WILD HOMESTEAD/Freezing Rain: Sauna Walls, Saw-milling Lumber |EP87| Log Cabin Build on Off-Grid Homestead/Freezing Rain: Sauna Walls, Saw-milling Lumber |EP87| Log Cabin Build on Off-Grid Homestead [Y1bXxQcoX70].mp4", false, 3, ~U[2025-12-20 11:01:07Z]] 17:36:07.789 [debug] QUERY OK source="sources" db=1.3ms idle=70.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:07.789 [debug] Current batch of media processed. Will check again in 1000ms 17:36:08.791 [debug] Current batch of media processed. Will check again in 1000ms 17:36:09.792 [debug] Current batch of media processed. Will check again in 1000ms 17:36:10.793 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3371, "filename" => "/downloads/WILD HOMESTEAD/Sawmill, Sauna |EP86| Log Cabin Build on Off-Grid Homestead/Sawmill, Sauna |EP86| Log Cabin Build on Off-Grid Homestead [GdxCG4OAbeE].mp4", "id" => "GdxCG4OAbeE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GdxCG4OAbeE", "playlist_index" => 8, "timestamp" => 1765623634, "title" => "Sawmill, Sauna |EP86| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20251213"} 17:36:10.794 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1929.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:10.795 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1931.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:10.797 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=1931.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-13 11:00:34Z], 3] 17:36:10.801 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=1078.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Sawmill, Sauna |EP86| Log Cabin Build on Off-Grid Homestead", "b93919ac-6bf5-4e09-844a-66dd2428a111", 3371, false, "GdxCG4OAbeE", "https://www.youtube.com/watch?v=GdxCG4OAbeE", 8, "/downloads/WILD HOMESTEAD/Sawmill, Sauna |EP86| Log Cabin Build on Off-Grid Homestead/Sawmill, Sauna |EP86| Log Cabin Build on Off-Grid Homestead [GdxCG4OAbeE].mp4", false, false, false, 3, [], 98, ~U[2025-12-13 11:00:34Z], ~U[2026-02-16 17:36:10Z], ~U[2026-02-16 17:36:10Z], "Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Sawmill, Sauna |EP86| Log Cabin Build on Off-Grid Homestead", 3371, false, "GdxCG4OAbeE", "https://www.youtube.com/watch?v=GdxCG4OAbeE", "/downloads/WILD HOMESTEAD/Sawmill, Sauna |EP86| Log Cabin Build on Off-Grid Homestead/Sawmill, Sauna |EP86| Log Cabin Build on Off-Grid Homestead [GdxCG4OAbeE].mp4", false, 3, ~U[2025-12-13 11:00:34Z]] 17:36:10.802 [debug] QUERY OK source="sources" db=0.6ms idle=79.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:10.802 [debug] Current batch of media processed. Will check again in 1000ms 17:36:11.803 [debug] Current batch of media processed. Will check again in 1000ms 17:36:12.804 [debug] Current batch of media processed. Will check again in 1000ms 17:36:13.805 [debug] Current batch of media processed. Will check again in 1000ms 17:36:14.806 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3498, "filename" => "/downloads/WILD HOMESTEAD/Winter Storm: Bathroom Addition, Sawmill Barn |EP85| Log Cabin Build on Off-Grid Homestead/Winter Storm: Bathroom Addition, Sawmill Barn |EP85| Log Cabin Build on Off-Grid Homestead [AUUHTI9ygeo].mp4", "id" => "AUUHTI9ygeo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AUUHTI9ygeo", "playlist_index" => 9, "timestamp" => 1765018818, "title" => "Winter Storm: Bathroom Addition, Sawmill Barn |EP85| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20251206"} 17:36:14.807 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=943.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:14.809 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=944.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:14.810 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=945.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-06 11:00:18Z], 3] 17:36:14.813 [debug] QUERY OK source="media_items" db=2.3ms idle=947.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Winter Storm: Bathroom Addition, Sawmill Barn |EP85| Log Cabin Build on Off-Grid Homestead", "5e65b325-1956-4e74-a458-7aa9e758efab", 3498, false, "AUUHTI9ygeo", "https://www.youtube.com/watch?v=AUUHTI9ygeo", 9, "/downloads/WILD HOMESTEAD/Winter Storm: Bathroom Addition, Sawmill Barn |EP85| Log Cabin Build on Off-Grid Homestead/Winter Storm: Bathroom Addition, Sawmill Barn |EP85| Log Cabin Build on Off-Grid Homestead [AUUHTI9ygeo].mp4", false, false, false, 3, [], 98, ~U[2025-12-06 11:00:18Z], ~U[2026-02-16 17:36:14Z], ~U[2026-02-16 17:36:14Z], "Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Winter Storm: Bathroom Addition, Sawmill Barn |EP85| Log Cabin Build on Off-Grid Homestead", 3498, false, "AUUHTI9ygeo", "https://www.youtube.com/watch?v=AUUHTI9ygeo", "/downloads/WILD HOMESTEAD/Winter Storm: Bathroom Addition, Sawmill Barn |EP85| Log Cabin Build on Off-Grid Homestead/Winter Storm: Bathroom Addition, Sawmill Barn |EP85| Log Cabin Build on Off-Grid Homestead [AUUHTI9ygeo].mp4", false, 3, ~U[2025-12-06 11:00:18Z]] 17:36:14.814 [debug] QUERY OK source="sources" db=0.2ms idle=87.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:14.814 [debug] Current batch of media processed. Will check again in 1000ms 17:36:15.815 [debug] Current batch of media processed. Will check again in 1000ms 17:36:16.816 [debug] Current batch of media processed. Will check again in 1000ms 17:36:17.817 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3256, "filename" => "/downloads/WILD HOMESTEAD/WINTER ARRIVES: Tractor Barn, Bathroom Addition |EP84| Log Cabin Build on Off-Grid Homestead/WINTER ARRIVES: Tractor Barn, Bathroom Addition |EP84| Log Cabin Build on Off-Grid Homestead [LcysUTRf7mw].mp4", "id" => "LcysUTRf7mw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LcysUTRf7mw", "playlist_index" => 10, "timestamp" => 1764414040, "title" => "WINTER ARRIVES: Tractor Barn, Bathroom Addition |EP84| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20251129"} 17:36:17.819 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1954.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:17.820 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1955.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:17.822 [debug] QUERY OK source="media_items" db=1.0ms queue=0.2ms idle=1956.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-29 11:00:40Z], 3] 17:36:17.824 [debug] QUERY OK source="media_items" db=1.8ms idle=1094.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "WINTER ARRIVES: Tractor Barn, Bathroom Addition |EP84| Log Cabin Build on Off-Grid Homestead", "e9d4dcbf-73f7-4371-b0bf-30e40adbb7d9", 3256, false, "LcysUTRf7mw", "https://www.youtube.com/watch?v=LcysUTRf7mw", 10, "/downloads/WILD HOMESTEAD/WINTER ARRIVES: Tractor Barn, Bathroom Addition |EP84| Log Cabin Build on Off-Grid Homestead/WINTER ARRIVES: Tractor Barn, Bathroom Addition |EP84| Log Cabin Build on Off-Grid Homestead [LcysUTRf7mw].mp4", false, false, false, 3, [], 98, ~U[2025-11-29 11:00:40Z], ~U[2026-02-16 17:36:17Z], ~U[2026-02-16 17:36:17Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "WINTER ARRIVES: Tractor Barn, Bathroom Addition |EP84| Log Cabin Build on Off-Grid Homestead", 3256, false, "LcysUTRf7mw", "https://www.youtube.com/watch?v=LcysUTRf7mw", "/downloads/WILD HOMESTEAD/WINTER ARRIVES: Tractor Barn, Bathroom Addition |EP84| Log Cabin Build on Off-Grid Homestead/WINTER ARRIVES: Tractor Barn, Bathroom Addition |EP84| Log Cabin Build on Off-Grid Homestead [LcysUTRf7mw].mp4", false, 3, ~U[2025-11-29 11:00:40Z]] 17:36:17.825 [debug] QUERY OK source="sources" db=0.2ms idle=93.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:17.825 [debug] Current batch of media processed. Will check again in 1000ms 17:36:18.826 [debug] Current batch of media processed. Will check again in 1000ms 17:36:19.827 [debug] Current batch of media processed. Will check again in 1000ms 17:36:20.828 [debug] Current batch of media processed. Will check again in 1000ms 17:36:21.829 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3386, "filename" => "/downloads/WILD HOMESTEAD/Winter Prep: Tractor Barn, Forest Gym, MICE |EP83| Log Cabin Build on Off-Grid Homestead/Winter Prep: Tractor Barn, Forest Gym, MICE |EP83| Log Cabin Build on Off-Grid Homestead [dFB5FaDAu9w].mp4", "id" => "dFB5FaDAu9w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dFB5FaDAu9w", "playlist_index" => 11, "timestamp" => 1763809273, "title" => "Winter Prep: Tractor Barn, Forest Gym, MICE |EP83| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20251122"} 17:36:21.831 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=966.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:21.832 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=967.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:21.834 [debug] QUERY OK source="media_items" db=1.0ms queue=0.3ms idle=968.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-22 11:01:13Z], 3] 17:36:21.838 [debug] QUERY OK source="media_items" db=3.0ms idle=971.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Winter Prep: Tractor Barn, Forest Gym, MICE |EP83| Log Cabin Build on Off-Grid Homestead", "d84e8e2b-9d7b-439f-9a61-75b5908d6fc8", 3386, false, "dFB5FaDAu9w", "https://www.youtube.com/watch?v=dFB5FaDAu9w", 11, "/downloads/WILD HOMESTEAD/Winter Prep: Tractor Barn, Forest Gym, MICE |EP83| Log Cabin Build on Off-Grid Homestead/Winter Prep: Tractor Barn, Forest Gym, MICE |EP83| Log Cabin Build on Off-Grid Homestead [dFB5FaDAu9w].mp4", false, false, false, 3, [], 98, ~U[2025-11-22 11:01:13Z], ~U[2026-02-16 17:36:21Z], ~U[2026-02-16 17:36:21Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Winter Prep: Tractor Barn, Forest Gym, MICE |EP83| Log Cabin Build on Off-Grid Homestead", 3386, false, "dFB5FaDAu9w", "https://www.youtube.com/watch?v=dFB5FaDAu9w", "/downloads/WILD HOMESTEAD/Winter Prep: Tractor Barn, Forest Gym, MICE |EP83| Log Cabin Build on Off-Grid Homestead/Winter Prep: Tractor Barn, Forest Gym, MICE |EP83| Log Cabin Build on Off-Grid Homestead [dFB5FaDAu9w].mp4", false, 3, ~U[2025-11-22 11:01:13Z]] 17:36:21.839 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=102.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:21.840 [debug] Current batch of media processed. Will check again in 1000ms 17:36:22.841 [debug] Current batch of media processed. Will check again in 1000ms 17:36:23.842 [debug] Current batch of media processed. Will check again in 1000ms 17:36:24.843 [debug] Current batch of media processed. Will check again in 1000ms 17:36:25.844 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3252, "filename" => "/downloads/WILD HOMESTEAD/WINTER IS COMING: Sauna, Tractor Barn, Deer Season |EP82| Log Cabin Build on Off-Grid Homestead/WINTER IS COMING: Sauna, Tractor Barn, Deer Season |EP82| Log Cabin Build on Off-Grid Homestead [vZ3N4pZvXaM].mp4", "id" => "vZ3N4pZvXaM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vZ3N4pZvXaM", "playlist_index" => 12, "timestamp" => 1763204506, "title" => "WINTER IS COMING: Sauna, Tractor Barn, Deer Season |EP82| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20251115"} 17:36:25.845 [debug] QUERY OK source="sources" db=0.3ms idle=980.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:25.845 [debug] QUERY OK source="sources" db=0.1ms idle=981.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:25.846 [debug] QUERY OK source="media_items" db=0.4ms idle=981.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-15 11:01:46Z], 3] 17:36:25.848 [debug] QUERY OK source="media_items" db=1.1ms idle=982.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "WINTER IS COMING: Sauna, Tractor Barn, Deer Season |EP82| Log Cabin Build on Off-Grid Homestead", "6dc87c53-1118-42ad-8ec0-a1213aa64207", 3252, false, "vZ3N4pZvXaM", "https://www.youtube.com/watch?v=vZ3N4pZvXaM", 12, "/downloads/WILD HOMESTEAD/WINTER IS COMING: Sauna, Tractor Barn, Deer Season |EP82| Log Cabin Build on Off-Grid Homestead/WINTER IS COMING: Sauna, Tractor Barn, Deer Season |EP82| Log Cabin Build on Off-Grid Homestead [vZ3N4pZvXaM].mp4", false, false, false, 3, [], 98, ~U[2025-11-15 11:01:46Z], ~U[2026-02-16 17:36:25Z], ~U[2026-02-16 17:36:25Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "WINTER IS COMING: Sauna, Tractor Barn, Deer Season |EP82| Log Cabin Build on Off-Grid Homestead", 3252, false, "vZ3N4pZvXaM", "https://www.youtube.com/watch?v=vZ3N4pZvXaM", "/downloads/WILD HOMESTEAD/WINTER IS COMING: Sauna, Tractor Barn, Deer Season |EP82| Log Cabin Build on Off-Grid Homestead/WINTER IS COMING: Sauna, Tractor Barn, Deer Season |EP82| Log Cabin Build on Off-Grid Homestead [vZ3N4pZvXaM].mp4", false, 3, ~U[2025-11-15 11:01:46Z]] 17:36:25.848 [debug] QUERY OK source="sources" db=0.3ms idle=101.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:25.848 [debug] Current batch of media processed. Will check again in 1000ms 17:36:26.850 [debug] Current batch of media processed. Will check again in 1000ms 17:36:27.851 [debug] Current batch of media processed. Will check again in 1000ms 17:36:28.852 [debug] Current batch of media processed. Will check again in 1000ms 17:36:29.853 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3052, "filename" => "/downloads/WILD HOMESTEAD/DIY Sauna on River, ATV Road down Cliff |EP81| Log Cabin Build on Off-Grid Homestead/DIY Sauna on River, ATV Road down Cliff |EP81| Log Cabin Build on Off-Grid Homestead [2EUJOdAAfhE].mp4", "id" => "2EUJOdAAfhE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2EUJOdAAfhE", "playlist_index" => 13, "timestamp" => 1762599603, "title" => "DIY Sauna on River, ATV Road down Cliff |EP81| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20251108"} 17:36:29.854 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=989.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:29.856 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=991.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:29.857 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=992.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-08 11:00:03Z], 3] 17:36:29.860 [debug] QUERY OK source="media_items" db=1.2ms idle=994.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "DIY Sauna on River, ATV Road down Cliff |EP81| Log Cabin Build on Off-Grid Homestead", "85b044c6-6944-48ce-b9f3-bbf02c0c1bea", 3052, false, "2EUJOdAAfhE", "https://www.youtube.com/watch?v=2EUJOdAAfhE", 13, "/downloads/WILD HOMESTEAD/DIY Sauna on River, ATV Road down Cliff |EP81| Log Cabin Build on Off-Grid Homestead/DIY Sauna on River, ATV Road down Cliff |EP81| Log Cabin Build on Off-Grid Homestead [2EUJOdAAfhE].mp4", false, false, false, 3, [], 98, ~U[2025-11-08 11:00:03Z], ~U[2026-02-16 17:36:29Z], ~U[2026-02-16 17:36:29Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "DIY Sauna on River, ATV Road down Cliff |EP81| Log Cabin Build on Off-Grid Homestead", 3052, false, "2EUJOdAAfhE", "https://www.youtube.com/watch?v=2EUJOdAAfhE", "/downloads/WILD HOMESTEAD/DIY Sauna on River, ATV Road down Cliff |EP81| Log Cabin Build on Off-Grid Homestead/DIY Sauna on River, ATV Road down Cliff |EP81| Log Cabin Build on Off-Grid Homestead [2EUJOdAAfhE].mp4", false, 3, ~U[2025-11-08 11:00:03Z]] 17:36:29.860 [debug] QUERY OK source="sources" db=0.2ms idle=105.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:29.860 [debug] Current batch of media processed. Will check again in 1000ms 17:36:30.861 [debug] Current batch of media processed. Will check again in 1000ms 17:36:31.862 [debug] Current batch of media processed. Will check again in 1000ms 17:36:32.863 [debug] Current batch of media processed. Will check again in 1000ms 17:36:33.865 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3498, "filename" => "/downloads/WILD HOMESTEAD/Sauna at Riverside, Tool Shed |EP80| Log Cabin Build on Off-Grid Homestead/Sauna at Riverside, Tool Shed |EP80| Log Cabin Build on Off-Grid Homestead [qco6sf2_Zow].mp4", "id" => "qco6sf2_Zow", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qco6sf2_Zow", "playlist_index" => 14, "timestamp" => 1761991290, "title" => "Sauna at Riverside, Tool Shed |EP80| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20251101"} 17:36:33.866 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:33.867 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1002.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:33.868 [debug] QUERY OK source="media_items" db=0.9ms idle=1003.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-01 10:01:30Z], 3] 17:36:33.873 [debug] QUERY OK source="media_items" db=3.1ms idle=1005.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Sauna at Riverside, Tool Shed |EP80| Log Cabin Build on Off-Grid Homestead", "5dfa092b-fd7b-469c-a2e5-949199c355f0", 3498, false, "qco6sf2_Zow", "https://www.youtube.com/watch?v=qco6sf2_Zow", 14, "/downloads/WILD HOMESTEAD/Sauna at Riverside, Tool Shed |EP80| Log Cabin Build on Off-Grid Homestead/Sauna at Riverside, Tool Shed |EP80| Log Cabin Build on Off-Grid Homestead [qco6sf2_Zow].mp4", false, false, false, 3, [], 98, ~U[2025-11-01 10:01:30Z], ~U[2026-02-16 17:36:33Z], ~U[2026-02-16 17:36:33Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Sauna at Riverside, Tool Shed |EP80| Log Cabin Build on Off-Grid Homestead", 3498, false, "qco6sf2_Zow", "https://www.youtube.com/watch?v=qco6sf2_Zow", "/downloads/WILD HOMESTEAD/Sauna at Riverside, Tool Shed |EP80| Log Cabin Build on Off-Grid Homestead/Sauna at Riverside, Tool Shed |EP80| Log Cabin Build on Off-Grid Homestead [qco6sf2_Zow].mp4", false, 3, ~U[2025-11-01 10:01:30Z]] 17:36:33.874 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=113.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:33.874 [debug] Current batch of media processed. Will check again in 1000ms 17:36:34.414 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:34.875 [debug] Current batch of media processed. Will check again in 1000ms 17:36:35.876 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3860, "filename" => "/downloads/WILD HOMESTEAD/Tool Shed, Well Testing, Metal Roof, Sauna Prep |EP79| Log Cabin Build on Off-Grid Homestead/Tool Shed, Well Testing, Metal Roof, Sauna Prep |EP79| Log Cabin Build on Off-Grid Homestead [UsPhB12rVVk].mp4", "id" => "UsPhB12rVVk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=UsPhB12rVVk", "playlist_index" => 15, "timestamp" => 1761386459, "title" => "Tool Shed, Well Testing, Metal Roof, Sauna Prep |EP79| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20251025"} 17:36:35.877 [debug] QUERY OK source="sources" db=0.4ms idle=112.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:35.878 [debug] QUERY OK source="sources" db=0.2ms idle=13.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:35.879 [debug] QUERY OK source="media_items" db=0.8ms idle=14.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-25 10:00:59Z], 3] 17:36:35.881 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=15.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Tool Shed, Well Testing, Metal Roof, Sauna Prep |EP79| Log Cabin Build on Off-Grid Homestead", "951da3b4-9f39-4bd9-8e5b-7d456236b30a", 3860, false, "UsPhB12rVVk", "https://www.youtube.com/watch?v=UsPhB12rVVk", 15, "/downloads/WILD HOMESTEAD/Tool Shed, Well Testing, Metal Roof, Sauna Prep |EP79| Log Cabin Build on Off-Grid Homestead/Tool Shed, Well Testing, Metal Roof, Sauna Prep |EP79| Log Cabin Build on Off-Grid Homestead [UsPhB12rVVk].mp4", false, false, false, 3, [], 98, ~U[2025-10-25 10:00:59Z], ~U[2026-02-16 17:36:35Z], ~U[2026-02-16 17:36:35Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Tool Shed, Well Testing, Metal Roof, Sauna Prep |EP79| Log Cabin Build on Off-Grid Homestead", 3860, false, "UsPhB12rVVk", "https://www.youtube.com/watch?v=UsPhB12rVVk", "/downloads/WILD HOMESTEAD/Tool Shed, Well Testing, Metal Roof, Sauna Prep |EP79| Log Cabin Build on Off-Grid Homestead/Tool Shed, Well Testing, Metal Roof, Sauna Prep |EP79| Log Cabin Build on Off-Grid Homestead [UsPhB12rVVk].mp4", false, 3, ~U[2025-10-25 10:00:59Z]] 17:36:35.882 [debug] QUERY OK source="sources" db=0.2ms idle=17.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:35.882 [debug] Current batch of media processed. Will check again in 1000ms 17:36:36.883 [debug] Current batch of media processed. Will check again in 1000ms 17:36:37.884 [debug] Current batch of media processed. Will check again in 1000ms 17:36:38.885 [debug] Current batch of media processed. Will check again in 1000ms 17:36:39.886 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3372, "filename" => "/downloads/WILD HOMESTEAD/Metal Roof for Cabin + ATV Garage, NEW Riverside Sauna |EP78| Log Cabin Build on Off-Grid Homestead/Metal Roof for Cabin + ATV Garage, NEW Riverside Sauna |EP78| Log Cabin Build on Off-Grid Homestead [UvaZsj0qByc].mp4", "id" => "UvaZsj0qByc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=UvaZsj0qByc", "playlist_index" => 16, "timestamp" => 1760176848, "title" => "Metal Roof for Cabin + ATV Garage, NEW Riverside Sauna |EP78| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20251011"} 17:36:39.888 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=116.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:39.889 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=24.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:39.890 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=25.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-11 10:00:48Z], 3] 17:36:39.893 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=27.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Metal Roof for Cabin + ATV Garage, NEW Riverside Sauna |EP78| Log Cabin Build on Off-Grid Homestead", "96b6e921-b777-4dda-bda5-0d49c507c6b3", 3372, false, "UvaZsj0qByc", "https://www.youtube.com/watch?v=UvaZsj0qByc", 16, "/downloads/WILD HOMESTEAD/Metal Roof for Cabin + ATV Garage, NEW Riverside Sauna |EP78| Log Cabin Build on Off-Grid Homestead/Metal Roof for Cabin + ATV Garage, NEW Riverside Sauna |EP78| Log Cabin Build on Off-Grid Homestead [UvaZsj0qByc].mp4", false, false, false, 3, [], 98, ~U[2025-10-11 10:00:48Z], ~U[2026-02-16 17:36:39Z], ~U[2026-02-16 17:36:39Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Metal Roof for Cabin + ATV Garage, NEW Riverside Sauna |EP78| Log Cabin Build on Off-Grid Homestead", 3372, false, "UvaZsj0qByc", "https://www.youtube.com/watch?v=UvaZsj0qByc", "/downloads/WILD HOMESTEAD/Metal Roof for Cabin + ATV Garage, NEW Riverside Sauna |EP78| Log Cabin Build on Off-Grid Homestead/Metal Roof for Cabin + ATV Garage, NEW Riverside Sauna |EP78| Log Cabin Build on Off-Grid Homestead [UvaZsj0qByc].mp4", false, 3, ~U[2025-10-11 10:00:48Z]] 17:36:39.894 [debug] QUERY OK source="sources" db=0.3ms idle=29.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:39.894 [debug] Current batch of media processed. Will check again in 1000ms 17:36:40.895 [debug] Current batch of media processed. Will check again in 1000ms 17:36:41.896 [debug] Current batch of media processed. Will check again in 1000ms 17:36:42.897 [debug] Current batch of media processed. Will check again in 1000ms 17:36:43.898 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3025, "filename" => "/downloads/WILD HOMESTEAD/BITTERSWEET VICTORY: DIY Medieval Pit Well, Roof Prep |EP77| Log Cabin Build on Off-Grid Homestead/BITTERSWEET VICTORY: DIY Medieval Pit Well, Roof Prep |EP77| Log Cabin Build on Off-Grid Homestead [OLlN9Ajsl9k].mp4", "id" => "OLlN9Ajsl9k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OLlN9Ajsl9k", "playlist_index" => 17, "timestamp" => 1759572027, "title" => "BITTERSWEET VICTORY: DIY Medieval Pit Well, Roof Prep |EP77| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20251004"} 17:36:43.900 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=120.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:43.901 [debug] QUERY OK source="sources" db=0.4ms idle=34.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:43.902 [debug] QUERY OK source="media_items" db=1.1ms idle=35.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-04 10:00:27Z], 3] 17:36:43.905 [debug] QUERY OK source="media_items" db=1.3ms idle=37.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "BITTERSWEET VICTORY: DIY Medieval Pit Well, Roof Prep |EP77| Log Cabin Build on Off-Grid Homestead", "603ec91e-9a79-4e1c-8067-2c01aca9b52f", 3025, false, "OLlN9Ajsl9k", "https://www.youtube.com/watch?v=OLlN9Ajsl9k", 17, "/downloads/WILD HOMESTEAD/BITTERSWEET VICTORY: DIY Medieval Pit Well, Roof Prep |EP77| Log Cabin Build on Off-Grid Homestead/BITTERSWEET VICTORY: DIY Medieval Pit Well, Roof Prep |EP77| Log Cabin Build on Off-Grid Homestead [OLlN9Ajsl9k].mp4", false, false, false, 3, [], 98, ~U[2025-10-04 10:00:27Z], ~U[2026-02-16 17:36:43Z], ~U[2026-02-16 17:36:43Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "BITTERSWEET VICTORY: DIY Medieval Pit Well, Roof Prep |EP77| Log Cabin Build on Off-Grid Homestead", 3025, false, "OLlN9Ajsl9k", "https://www.youtube.com/watch?v=OLlN9Ajsl9k", "/downloads/WILD HOMESTEAD/BITTERSWEET VICTORY: DIY Medieval Pit Well, Roof Prep |EP77| Log Cabin Build on Off-Grid Homestead/BITTERSWEET VICTORY: DIY Medieval Pit Well, Roof Prep |EP77| Log Cabin Build on Off-Grid Homestead [OLlN9Ajsl9k].mp4", false, 3, ~U[2025-10-04 10:00:27Z]] 17:36:43.906 [debug] QUERY OK source="sources" db=0.4ms idle=39.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:43.906 [debug] Current batch of media processed. Will check again in 1000ms 17:36:44.907 [debug] Current batch of media processed. Will check again in 1000ms 17:36:45.908 [debug] Current batch of media processed. Will check again in 1000ms 17:36:46.909 [debug] Current batch of media processed. Will check again in 1000ms 17:36:47.910 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3133, "filename" => "/downloads/WILD HOMESTEAD/Island Sauna Cabin Build in Finland |EP76| Scandinavian Scribe Method with @Off-Grid-Island/Island Sauna Cabin Build in Finland |EP76| Scandinavian Scribe Method with @Off-Grid-Island [6C82M9etE6U].mp4", "id" => "6C82M9etE6U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6C82M9etE6U", "playlist_index" => 18, "timestamp" => 1758967210, "title" => "Island Sauna Cabin Build in Finland |EP76| Scandinavian Scribe Method with @Off-Grid-Island", "upload_date" => "20250927"} 17:36:47.911 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=124.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:47.913 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=47.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:47.914 [debug] QUERY OK source="media_items" db=1.0ms idle=48.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-27 10:00:10Z], 3] 17:36:47.919 [debug] QUERY OK source="media_items" db=3.6ms idle=49.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Island Sauna Cabin Build in Finland |EP76| Scandinavian Scribe Method with @Off-Grid-Island", "8bc4f1bf-7877-47b0-93ea-3e330e5fad84", 3133, false, "6C82M9etE6U", "https://www.youtube.com/watch?v=6C82M9etE6U", 18, "/downloads/WILD HOMESTEAD/Island Sauna Cabin Build in Finland |EP76| Scandinavian Scribe Method with @Off-Grid-Island/Island Sauna Cabin Build in Finland |EP76| Scandinavian Scribe Method with @Off-Grid-Island [6C82M9etE6U].mp4", false, false, false, 3, [], 98, ~U[2025-09-27 10:00:10Z], ~U[2026-02-16 17:36:47Z], ~U[2026-02-16 17:36:47Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Island Sauna Cabin Build in Finland |EP76| Scandinavian Scribe Method with @Off-Grid-Island", 3133, false, "6C82M9etE6U", "https://www.youtube.com/watch?v=6C82M9etE6U", "/downloads/WILD HOMESTEAD/Island Sauna Cabin Build in Finland |EP76| Scandinavian Scribe Method with @Off-Grid-Island/Island Sauna Cabin Build in Finland |EP76| Scandinavian Scribe Method with @Off-Grid-Island [6C82M9etE6U].mp4", false, 3, ~U[2025-09-27 10:00:10Z]] 17:36:47.920 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=54.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:47.921 [debug] Current batch of media processed. Will check again in 1000ms 17:36:48.922 [debug] Current batch of media processed. Will check again in 1000ms 17:36:49.923 [debug] Current batch of media processed. Will check again in 1000ms 17:36:50.924 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "duration" => 3233, "filename" => "/downloads/WILD HOMESTEAD/MODERN Medieval Pit Well: DIY Last Attempt |EP75| Log Cabin Build on Off-Grid Homestead/MODERN Medieval Pit Well: DIY Last Attempt |EP75| Log Cabin Build on Off-Grid Homestead [RgaoZ00uY_M].mp4", "id" => "RgaoZ00uY_M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RgaoZ00uY_M", "playlist_index" => 19, "timestamp" => 1758362454, "title" => "MODERN Medieval Pit Well: DIY Last Attempt |EP75| Log Cabin Build on Off-Grid Homestead", "upload_date" => "20250920"} 17:36:50.926 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1060.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:50.927 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1061.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:50.928 [debug] QUERY OK source="media_items" db=1.0ms idle=1062.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-20 10:00:54Z], 3] 17:36:50.930 [debug] QUERY OK source="media_items" db=1.0ms idle=1063.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "MODERN Medieval Pit Well: DIY Last Attempt |EP75| Log Cabin Build on Off-Grid Homestead", "9eb8b665-aad1-44d6-b464-e66685cb14a2", 3233, false, "RgaoZ00uY_M", "https://www.youtube.com/watch?v=RgaoZ00uY_M", 19, "/downloads/WILD HOMESTEAD/MODERN Medieval Pit Well: DIY Last Attempt |EP75| Log Cabin Build on Off-Grid Homestead/MODERN Medieval Pit Well: DIY Last Attempt |EP75| Log Cabin Build on Off-Grid Homestead [RgaoZ00uY_M].mp4", false, false, false, 3, [], 98, ~U[2025-09-20 10:00:54Z], ~U[2026-02-16 17:36:50Z], ~U[2026-02-16 17:36:50Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "MODERN Medieval Pit Well: DIY Last Attempt |EP75| Log Cabin Build on Off-Grid Homestead", 3233, false, "RgaoZ00uY_M", "https://www.youtube.com/watch?v=RgaoZ00uY_M", "/downloads/WILD HOMESTEAD/MODERN Medieval Pit Well: DIY Last Attempt |EP75| Log Cabin Build on Off-Grid Homestead/MODERN Medieval Pit Well: DIY Last Attempt |EP75| Log Cabin Build on Off-Grid Homestead [RgaoZ00uY_M].mp4", false, 3, ~U[2025-09-20 10:00:54Z]] 17:36:50.930 [debug] QUERY OK source="sources" db=0.2ms idle=140.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:50.930 [debug] Current batch of media processed. Will check again in 1000ms 17:36:51.932 [debug] Current batch of media processed. Will check again in 1000ms 17:36:52.933 [debug] Current batch of media processed. Will check again in 1000ms 17:36:53.223 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@wildhomestead --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/WILD HOMESTEAD/%(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/47/38/47388e74280d75036a9389ee081e47cac2bd66c679e05de52413dead620fb86d.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/2b/71/2b71e525257a071c0daeb772dbcb5b1cca9e0c802092a4e1341f4618fef5bda6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 17:36:53.224 [debug] Gracefully stopping file follower 17:36:53.225 [debug] QUERY OK source="sources" db=0.3ms idle=430.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 17:36:53.225 [debug] QUERY OK source="sources" db=0.2ms idle=360.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.226 [debug] QUERY OK source="media_items" db=0.3ms idle=360.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-07 11:00:40Z], 3] 17:36:53.227 [debug] QUERY OK source="media_items" db=1.1ms idle=361.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Log Outhouse Roof + Walls, Ice Fishing |EP93| Log Cabin Build on Off-Grid Homestead", "fa5c125a-b562-4185-ac61-e22ea3b6d4e0", 3245, false, "MsJjDlWtgGk", "https://www.youtube.com/watch?v=MsJjDlWtgGk", 1, "/downloads/WILD HOMESTEAD/Log Outhouse Roof + Walls, Ice Fishing |EP93| Log Cabin Build on Off-Grid Homestead/Log Outhouse Roof + Walls, Ice Fishing |EP93| Log Cabin Build on Off-Grid Homestead [MsJjDlWtgGk].mp4", false, false, false, 3, [], 98, ~U[2026-02-07 11:00:40Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Log Outhouse Roof + Walls, Ice Fishing |EP93| Log Cabin Build on Off-Grid Homestead", 3245, false, "MsJjDlWtgGk", "https://www.youtube.com/watch?v=MsJjDlWtgGk", "/downloads/WILD HOMESTEAD/Log Outhouse Roof + Walls, Ice Fishing |EP93| Log Cabin Build on Off-Grid Homestead/Log Outhouse Roof + Walls, Ice Fishing |EP93| Log Cabin Build on Off-Grid Homestead [MsJjDlWtgGk].mp4", false, 3, ~U[2026-02-07 11:00:40Z]] 17:36:53.228 [debug] QUERY OK source="sources" db=0.6ms idle=362.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.229 [debug] QUERY OK source="media_items" db=0.5ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-31 11:01:18Z], 3] 17:36:53.230 [debug] QUERY OK source="media_items" db=1.2ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Deep Winter Struggle: Rustic Outhouse, Hand Peeled Logs |EP92| Log Cabin Build on Off-Grid Homestead", "971c5e3d-0876-4781-81ff-609cc637dc29", 3140, false, "kIGGvdBWf8k", "https://www.youtube.com/watch?v=kIGGvdBWf8k", 2, "/downloads/WILD HOMESTEAD/Deep Winter Struggle: Rustic Outhouse, Hand Peeled Logs |EP92| Log Cabin Build on Off-Grid Homestead/Deep Winter Struggle: Rustic Outhouse, Hand Peeled Logs |EP92| Log Cabin Build on Off-Grid Homestead [kIGGvdBWf8k].mp4", false, false, false, 3, [], 98, ~U[2026-01-31 11:01:18Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Deep Winter Struggle: Rustic Outhouse, Hand Peeled Logs |EP92| Log Cabin Build on Off-Grid Homestead", 3140, false, "kIGGvdBWf8k", "https://www.youtube.com/watch?v=kIGGvdBWf8k", "/downloads/WILD HOMESTEAD/Deep Winter Struggle: Rustic Outhouse, Hand Peeled Logs |EP92| Log Cabin Build on Off-Grid Homestead/Deep Winter Struggle: Rustic Outhouse, Hand Peeled Logs |EP92| Log Cabin Build on Off-Grid Homestead [kIGGvdBWf8k].mp4", false, 3, ~U[2026-01-31 11:01:18Z]] 17:36:53.231 [debug] QUERY OK source="sources" db=0.2ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.232 [debug] QUERY OK source="media_items" db=0.6ms idle=3.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-24 11:01:04Z], 3] 17:36:53.233 [debug] QUERY OK source="media_items" db=1.2ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nSIP SAUNAS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "-30º Snow Storm: Fixing Sauna Error, Rustic Outhouse |EP91| Log Cabin Build on Off-Grid Homestead", "333dfe43-1c71-47e5-b612-f62a529a2ed6", 3211, false, "YkKrUiDWpfk", "https://www.youtube.com/watch?v=YkKrUiDWpfk", 3, "/downloads/WILD HOMESTEAD/-30º Snow Storm: Fixing Sauna Error, Rustic Outhouse |EP91| Log Cabin Build on Off-Grid Homestead/-30º Snow Storm: Fixing Sauna Error, Rustic Outhouse |EP91| Log Cabin Build on Off-Grid Homestead [YkKrUiDWpfk].mp4", false, false, false, 3, [], 98, ~U[2026-01-24 11:01:04Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nSIP SAUNAS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "-30º Snow Storm: Fixing Sauna Error, Rustic Outhouse |EP91| Log Cabin Build on Off-Grid Homestead", 3211, false, "YkKrUiDWpfk", "https://www.youtube.com/watch?v=YkKrUiDWpfk", "/downloads/WILD HOMESTEAD/-30º Snow Storm: Fixing Sauna Error, Rustic Outhouse |EP91| Log Cabin Build on Off-Grid Homestead/-30º Snow Storm: Fixing Sauna Error, Rustic Outhouse |EP91| Log Cabin Build on Off-Grid Homestead [YkKrUiDWpfk].mp4", false, 3, ~U[2026-01-24 11:01:04Z]] 17:36:53.234 [debug] QUERY OK source="sources" db=0.6ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.235 [debug] QUERY OK source="media_items" db=0.5ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-17 11:00:41Z], 3] 17:36:53.261 [debug] QUERY OK source="media_items" db=25.3ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nSIP SAUNAS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "WOLVES, Sauna: Door, Stove + FIRST Session |EP90| Log Cabin Build on Off-Grid Homestead", "03be1283-2660-47b7-a85a-d7b15bf23b4c", 3086, false, "LzXtEQsELYQ", "https://www.youtube.com/watch?v=LzXtEQsELYQ", 4, "/downloads/WILD HOMESTEAD/WOLVES, Sauna: Door, Stove + FIRST Session |EP90| Log Cabin Build on Off-Grid Homestead/WOLVES, Sauna: Door, Stove + FIRST Session |EP90| Log Cabin Build on Off-Grid Homestead [LzXtEQsELYQ].mp4", false, false, false, 3, [], 98, ~U[2026-01-17 11:00:41Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nBAUMALIGHT FORESTRY MULCHERS\nNORWOOD SAWMILLS\nSIP SAUNAS\nCANVAS CAMP TENTS\nPOLLARD WINDOWS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "WOLVES, Sauna: Door, Stove + FIRST Session |EP90| Log Cabin Build on Off-Grid Homestead", 3086, false, "LzXtEQsELYQ", "https://www.youtube.com/watch?v=LzXtEQsELYQ", "/downloads/WILD HOMESTEAD/WOLVES, Sauna: Door, Stove + FIRST Session |EP90| Log Cabin Build on Off-Grid Homestead/WOLVES, Sauna: Door, Stove + FIRST Session |EP90| Log Cabin Build on Off-Grid Homestead [LzXtEQsELYQ].mp4", false, 3, ~U[2026-01-17 11:00:41Z]] 17:36:53.263 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=29.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.264 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=29.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-10 11:01:35Z], 3] 17:36:53.275 [debug] QUERY OK source="media_items" db=9.4ms queue=0.1ms idle=30.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "TRESPASSER, Sauna Chimney System |EP89| Log Cabin Build on Off-Grid Homestead", "78baead4-39a1-402f-b4cb-71e3f16e6023", 3377, false, "paxZUxR8Qr0", "https://www.youtube.com/watch?v=paxZUxR8Qr0", 5, "/downloads/WILD HOMESTEAD/TRESPASSER, Sauna Chimney System |EP89| Log Cabin Build on Off-Grid Homestead/TRESPASSER, Sauna Chimney System |EP89| Log Cabin Build on Off-Grid Homestead [paxZUxR8Qr0].mp4", false, false, false, 3, [], 98, ~U[2026-01-10 11:01:35Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods, Outdoors\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "TRESPASSER, Sauna Chimney System |EP89| Log Cabin Build on Off-Grid Homestead", 3377, false, "paxZUxR8Qr0", "https://www.youtube.com/watch?v=paxZUxR8Qr0", "/downloads/WILD HOMESTEAD/TRESPASSER, Sauna Chimney System |EP89| Log Cabin Build on Off-Grid Homestead/TRESPASSER, Sauna Chimney System |EP89| Log Cabin Build on Off-Grid Homestead [paxZUxR8Qr0].mp4", false, 3, ~U[2026-01-10 11:01:35Z]] 17:36:53.276 [debug] QUERY OK source="sources" db=0.7ms idle=40.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.278 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=16.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-03 11:01:00Z], 3] 17:36:53.282 [debug] QUERY OK source="media_items" db=3.0ms idle=15.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "SNOWED IN: Tractor Breaks in Storm, Sauna |EP88| Log Cabin Build on Off-Grid Homestead", "9a839fa5-0377-4109-8fe9-f4738a5556bb", 3433, false, "X3miY6Espt4", "https://www.youtube.com/watch?v=X3miY6Espt4", 6, "/downloads/WILD HOMESTEAD/SNOWED IN: Tractor Breaks in Storm, Sauna |EP88| Log Cabin Build on Off-Grid Homestead/SNOWED IN: Tractor Breaks in Storm, Sauna |EP88| Log Cabin Build on Off-Grid Homestead [X3miY6Espt4].mp4", false, false, false, 3, [], 98, ~U[2026-01-03 11:01:00Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nIntro Animation from Wild Homestead subscriber Kristian Egge in Norway 🇳🇴 \n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "SNOWED IN: Tractor Breaks in Storm, Sauna |EP88| Log Cabin Build on Off-Grid Homestead", 3433, false, "X3miY6Espt4", "https://www.youtube.com/watch?v=X3miY6Espt4", "/downloads/WILD HOMESTEAD/SNOWED IN: Tractor Breaks in Storm, Sauna |EP88| Log Cabin Build on Off-Grid Homestead/SNOWED IN: Tractor Breaks in Storm, Sauna |EP88| Log Cabin Build on Off-Grid Homestead [X3miY6Espt4].mp4", false, 3, ~U[2026-01-03 11:01:00Z]] 17:36:53.283 [debug] QUERY OK source="sources" db=0.6ms idle=18.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.285 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=9.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-20 11:01:07Z], 3] 17:36:53.289 [debug] QUERY OK source="media_items" db=2.8ms idle=9.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Freezing Rain: Sauna Walls, Saw-milling Lumber |EP87| Log Cabin Build on Off-Grid Homestead", "8ff98e62-64ba-4530-996d-d68a824b3917", 3496, false, "Y1bXxQcoX70", "https://www.youtube.com/watch?v=Y1bXxQcoX70", 7, "/downloads/WILD HOMESTEAD/Freezing Rain: Sauna Walls, Saw-milling Lumber |EP87| Log Cabin Build on Off-Grid Homestead/Freezing Rain: Sauna Walls, Saw-milling Lumber |EP87| Log Cabin Build on Off-Grid Homestead [Y1bXxQcoX70].mp4", false, false, false, 3, [], 98, ~U[2025-12-20 11:01:07Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Freezing Rain: Sauna Walls, Saw-milling Lumber |EP87| Log Cabin Build on Off-Grid Homestead", 3496, false, "Y1bXxQcoX70", "https://www.youtube.com/watch?v=Y1bXxQcoX70", "/downloads/WILD HOMESTEAD/Freezing Rain: Sauna Walls, Saw-milling Lumber |EP87| Log Cabin Build on Off-Grid Homestead/Freezing Rain: Sauna Walls, Saw-milling Lumber |EP87| Log Cabin Build on Off-Grid Homestead [Y1bXxQcoX70].mp4", false, 3, ~U[2025-12-20 11:01:07Z]] 17:36:53.290 [debug] QUERY OK source="sources" db=0.4ms idle=11.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.291 [debug] QUERY OK source="media_items" db=0.7ms idle=8.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-13 11:00:34Z], 3] 17:36:53.294 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=7.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Sawmill, Sauna |EP86| Log Cabin Build on Off-Grid Homestead", "fef79e17-bdf9-440c-bb2c-519663a8c265", 3371, false, "GdxCG4OAbeE", "https://www.youtube.com/watch?v=GdxCG4OAbeE", 8, "/downloads/WILD HOMESTEAD/Sawmill, Sauna |EP86| Log Cabin Build on Off-Grid Homestead/Sawmill, Sauna |EP86| Log Cabin Build on Off-Grid Homestead [GdxCG4OAbeE].mp4", false, false, false, 3, [], 98, ~U[2025-12-13 11:00:34Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Sawmill, Sauna |EP86| Log Cabin Build on Off-Grid Homestead", 3371, false, "GdxCG4OAbeE", "https://www.youtube.com/watch?v=GdxCG4OAbeE", "/downloads/WILD HOMESTEAD/Sawmill, Sauna |EP86| Log Cabin Build on Off-Grid Homestead/Sawmill, Sauna |EP86| Log Cabin Build on Off-Grid Homestead [GdxCG4OAbeE].mp4", false, 3, ~U[2025-12-13 11:00:34Z]] 17:36:53.295 [debug] QUERY OK source="sources" db=0.6ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.296 [debug] QUERY OK source="media_items" db=0.7ms idle=6.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-06 11:00:18Z], 3] 17:36:53.298 [debug] QUERY OK source="media_items" db=1.8ms idle=6.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Winter Storm: Bathroom Addition, Sawmill Barn |EP85| Log Cabin Build on Off-Grid Homestead", "dc23906e-e2ad-4a60-8944-fadb2c49eb35", 3498, false, "AUUHTI9ygeo", "https://www.youtube.com/watch?v=AUUHTI9ygeo", 9, "/downloads/WILD HOMESTEAD/Winter Storm: Bathroom Addition, Sawmill Barn |EP85| Log Cabin Build on Off-Grid Homestead/Winter Storm: Bathroom Addition, Sawmill Barn |EP85| Log Cabin Build on Off-Grid Homestead [AUUHTI9ygeo].mp4", false, false, false, 3, [], 98, ~U[2025-12-06 11:00:18Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Outdoors, Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Winter Storm: Bathroom Addition, Sawmill Barn |EP85| Log Cabin Build on Off-Grid Homestead", 3498, false, "AUUHTI9ygeo", "https://www.youtube.com/watch?v=AUUHTI9ygeo", "/downloads/WILD HOMESTEAD/Winter Storm: Bathroom Addition, Sawmill Barn |EP85| Log Cabin Build on Off-Grid Homestead/Winter Storm: Bathroom Addition, Sawmill Barn |EP85| Log Cabin Build on Off-Grid Homestead [AUUHTI9ygeo].mp4", false, 3, ~U[2025-12-06 11:00:18Z]] 17:36:53.299 [debug] QUERY OK source="sources" db=0.3ms idle=7.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.300 [debug] QUERY OK source="media_items" db=1.0ms idle=5.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-29 11:00:40Z], 3] 17:36:53.302 [debug] QUERY OK source="media_items" db=1.7ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "WINTER ARRIVES: Tractor Barn, Bathroom Addition |EP84| Log Cabin Build on Off-Grid Homestead", "f3b7d9ac-6d62-488c-be18-acd5c3f86a32", 3256, false, "LcysUTRf7mw", "https://www.youtube.com/watch?v=LcysUTRf7mw", 10, "/downloads/WILD HOMESTEAD/WINTER ARRIVES: Tractor Barn, Bathroom Addition |EP84| Log Cabin Build on Off-Grid Homestead/WINTER ARRIVES: Tractor Barn, Bathroom Addition |EP84| Log Cabin Build on Off-Grid Homestead [LcysUTRf7mw].mp4", false, false, false, 3, [], 98, ~U[2025-11-29 11:00:40Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "WINTER ARRIVES: Tractor Barn, Bathroom Addition |EP84| Log Cabin Build on Off-Grid Homestead", 3256, false, "LcysUTRf7mw", "https://www.youtube.com/watch?v=LcysUTRf7mw", "/downloads/WILD HOMESTEAD/WINTER ARRIVES: Tractor Barn, Bathroom Addition |EP84| Log Cabin Build on Off-Grid Homestead/WINTER ARRIVES: Tractor Barn, Bathroom Addition |EP84| Log Cabin Build on Off-Grid Homestead [LcysUTRf7mw].mp4", false, 3, ~U[2025-11-29 11:00:40Z]] 17:36:53.303 [debug] QUERY OK source="sources" db=0.3ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.304 [debug] QUERY OK source="media_items" db=0.7ms idle=5.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-22 11:01:13Z], 3] 17:36:53.306 [debug] QUERY OK source="media_items" db=1.8ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Winter Prep: Tractor Barn, Forest Gym, MICE |EP83| Log Cabin Build on Off-Grid Homestead", "415607d9-7bfb-4356-a9ed-0b4db37feba7", 3386, false, "dFB5FaDAu9w", "https://www.youtube.com/watch?v=dFB5FaDAu9w", 11, "/downloads/WILD HOMESTEAD/Winter Prep: Tractor Barn, Forest Gym, MICE |EP83| Log Cabin Build on Off-Grid Homestead/Winter Prep: Tractor Barn, Forest Gym, MICE |EP83| Log Cabin Build on Off-Grid Homestead [dFB5FaDAu9w].mp4", false, false, false, 3, [], 98, ~U[2025-11-22 11:01:13Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Winter Prep: Tractor Barn, Forest Gym, MICE |EP83| Log Cabin Build on Off-Grid Homestead", 3386, false, "dFB5FaDAu9w", "https://www.youtube.com/watch?v=dFB5FaDAu9w", "/downloads/WILD HOMESTEAD/Winter Prep: Tractor Barn, Forest Gym, MICE |EP83| Log Cabin Build on Off-Grid Homestead/Winter Prep: Tractor Barn, Forest Gym, MICE |EP83| Log Cabin Build on Off-Grid Homestead [dFB5FaDAu9w].mp4", false, 3, ~U[2025-11-22 11:01:13Z]] 17:36:53.307 [debug] QUERY OK source="sources" db=0.2ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.307 [debug] QUERY OK source="media_items" db=0.4ms idle=4.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-15 11:01:46Z], 3] 17:36:53.309 [debug] QUERY OK source="media_items" db=1.1ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "WINTER IS COMING: Sauna, Tractor Barn, Deer Season |EP82| Log Cabin Build on Off-Grid Homestead", "260a3f62-3d54-4a45-864e-a0fed56ad816", 3252, false, "vZ3N4pZvXaM", "https://www.youtube.com/watch?v=vZ3N4pZvXaM", 12, "/downloads/WILD HOMESTEAD/WINTER IS COMING: Sauna, Tractor Barn, Deer Season |EP82| Log Cabin Build on Off-Grid Homestead/WINTER IS COMING: Sauna, Tractor Barn, Deer Season |EP82| Log Cabin Build on Off-Grid Homestead [vZ3N4pZvXaM].mp4", false, false, false, 3, [], 98, ~U[2025-11-15 11:01:46Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "WINTER IS COMING: Sauna, Tractor Barn, Deer Season |EP82| Log Cabin Build on Off-Grid Homestead", 3252, false, "vZ3N4pZvXaM", "https://www.youtube.com/watch?v=vZ3N4pZvXaM", "/downloads/WILD HOMESTEAD/WINTER IS COMING: Sauna, Tractor Barn, Deer Season |EP82| Log Cabin Build on Off-Grid Homestead/WINTER IS COMING: Sauna, Tractor Barn, Deer Season |EP82| Log Cabin Build on Off-Grid Homestead [vZ3N4pZvXaM].mp4", false, 3, ~U[2025-11-15 11:01:46Z]] 17:36:53.309 [debug] QUERY OK source="sources" db=0.2ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.310 [debug] QUERY OK source="media_items" db=0.5ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-08 11:00:03Z], 3] 17:36:53.312 [debug] QUERY OK source="media_items" db=1.1ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "DIY Sauna on River, ATV Road down Cliff |EP81| Log Cabin Build on Off-Grid Homestead", "158ae99e-3542-460a-a96c-13ca6386b03c", 3052, false, "2EUJOdAAfhE", "https://www.youtube.com/watch?v=2EUJOdAAfhE", 13, "/downloads/WILD HOMESTEAD/DIY Sauna on River, ATV Road down Cliff |EP81| Log Cabin Build on Off-Grid Homestead/DIY Sauna on River, ATV Road down Cliff |EP81| Log Cabin Build on Off-Grid Homestead [2EUJOdAAfhE].mp4", false, false, false, 3, [], 98, ~U[2025-11-08 11:00:03Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "DIY Sauna on River, ATV Road down Cliff |EP81| Log Cabin Build on Off-Grid Homestead", 3052, false, "2EUJOdAAfhE", "https://www.youtube.com/watch?v=2EUJOdAAfhE", "/downloads/WILD HOMESTEAD/DIY Sauna on River, ATV Road down Cliff |EP81| Log Cabin Build on Off-Grid Homestead/DIY Sauna on River, ATV Road down Cliff |EP81| Log Cabin Build on Off-Grid Homestead [2EUJOdAAfhE].mp4", false, 3, ~U[2025-11-08 11:00:03Z]] 17:36:53.312 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.313 [debug] QUERY OK source="media_items" db=0.3ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-01 10:01:30Z], 3] 17:36:53.314 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Sauna at Riverside, Tool Shed |EP80| Log Cabin Build on Off-Grid Homestead", "35601a1c-5e10-462c-8f8d-86993667fd54", 3498, false, "qco6sf2_Zow", "https://www.youtube.com/watch?v=qco6sf2_Zow", 14, "/downloads/WILD HOMESTEAD/Sauna at Riverside, Tool Shed |EP80| Log Cabin Build on Off-Grid Homestead/Sauna at Riverside, Tool Shed |EP80| Log Cabin Build on Off-Grid Homestead [qco6sf2_Zow].mp4", false, false, false, 3, [], 98, ~U[2025-11-01 10:01:30Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\nTikTok: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Sauna at Riverside, Tool Shed |EP80| Log Cabin Build on Off-Grid Homestead", 3498, false, "qco6sf2_Zow", "https://www.youtube.com/watch?v=qco6sf2_Zow", "/downloads/WILD HOMESTEAD/Sauna at Riverside, Tool Shed |EP80| Log Cabin Build on Off-Grid Homestead/Sauna at Riverside, Tool Shed |EP80| Log Cabin Build on Off-Grid Homestead [qco6sf2_Zow].mp4", false, 3, ~U[2025-11-01 10:01:30Z]] 17:36:53.314 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.315 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-25 10:00:59Z], 3] 17:36:53.317 [debug] QUERY OK source="media_items" db=1.0ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Tool Shed, Well Testing, Metal Roof, Sauna Prep |EP79| Log Cabin Build on Off-Grid Homestead", "a940732f-3bda-472d-92d0-c4ae2d4e69ee", 3860, false, "UsPhB12rVVk", "https://www.youtube.com/watch?v=UsPhB12rVVk", 15, "/downloads/WILD HOMESTEAD/Tool Shed, Well Testing, Metal Roof, Sauna Prep |EP79| Log Cabin Build on Off-Grid Homestead/Tool Shed, Well Testing, Metal Roof, Sauna Prep |EP79| Log Cabin Build on Off-Grid Homestead [UsPhB12rVVk].mp4", false, false, false, 3, [], 98, ~U[2025-10-25 10:00:59Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Tool Shed, Well Testing, Metal Roof, Sauna Prep |EP79| Log Cabin Build on Off-Grid Homestead", 3860, false, "UsPhB12rVVk", "https://www.youtube.com/watch?v=UsPhB12rVVk", "/downloads/WILD HOMESTEAD/Tool Shed, Well Testing, Metal Roof, Sauna Prep |EP79| Log Cabin Build on Off-Grid Homestead/Tool Shed, Well Testing, Metal Roof, Sauna Prep |EP79| Log Cabin Build on Off-Grid Homestead [UsPhB12rVVk].mp4", false, 3, ~U[2025-10-25 10:00:59Z]] 17:36:53.317 [debug] QUERY OK source="sources" db=0.3ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.318 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-11 10:00:48Z], 3] 17:36:53.319 [debug] QUERY OK source="media_items" db=0.9ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Metal Roof for Cabin + ATV Garage, NEW Riverside Sauna |EP78| Log Cabin Build on Off-Grid Homestead", "671ed624-d2d4-4f74-b24d-5f45afc7ab88", 3372, false, "UvaZsj0qByc", "https://www.youtube.com/watch?v=UvaZsj0qByc", 16, "/downloads/WILD HOMESTEAD/Metal Roof for Cabin + ATV Garage, NEW Riverside Sauna |EP78| Log Cabin Build on Off-Grid Homestead/Metal Roof for Cabin + ATV Garage, NEW Riverside Sauna |EP78| Log Cabin Build on Off-Grid Homestead [UvaZsj0qByc].mp4", false, false, false, 3, [], 98, ~U[2025-10-11 10:00:48Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\nBAUMALIGHT FORESTRY MULCHERS\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Metal Roof for Cabin + ATV Garage, NEW Riverside Sauna |EP78| Log Cabin Build on Off-Grid Homestead", 3372, false, "UvaZsj0qByc", "https://www.youtube.com/watch?v=UvaZsj0qByc", "/downloads/WILD HOMESTEAD/Metal Roof for Cabin + ATV Garage, NEW Riverside Sauna |EP78| Log Cabin Build on Off-Grid Homestead/Metal Roof for Cabin + ATV Garage, NEW Riverside Sauna |EP78| Log Cabin Build on Off-Grid Homestead [UvaZsj0qByc].mp4", false, 3, ~U[2025-10-11 10:00:48Z]] 17:36:53.320 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.320 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-04 10:00:27Z], 3] 17:36:53.321 [debug] QUERY OK source="media_items" db=0.9ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "BITTERSWEET VICTORY: DIY Medieval Pit Well, Roof Prep |EP77| Log Cabin Build on Off-Grid Homestead", "7f99332a-fce9-433b-9772-7699ee61f0ed", 3025, false, "OLlN9Ajsl9k", "https://www.youtube.com/watch?v=OLlN9Ajsl9k", 17, "/downloads/WILD HOMESTEAD/BITTERSWEET VICTORY: DIY Medieval Pit Well, Roof Prep |EP77| Log Cabin Build on Off-Grid Homestead/BITTERSWEET VICTORY: DIY Medieval Pit Well, Roof Prep |EP77| Log Cabin Build on Off-Grid Homestead [OLlN9Ajsl9k].mp4", false, false, false, 3, [], 98, ~U[2025-10-04 10:00:27Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "BITTERSWEET VICTORY: DIY Medieval Pit Well, Roof Prep |EP77| Log Cabin Build on Off-Grid Homestead", 3025, false, "OLlN9Ajsl9k", "https://www.youtube.com/watch?v=OLlN9Ajsl9k", "/downloads/WILD HOMESTEAD/BITTERSWEET VICTORY: DIY Medieval Pit Well, Roof Prep |EP77| Log Cabin Build on Off-Grid Homestead/BITTERSWEET VICTORY: DIY Medieval Pit Well, Roof Prep |EP77| Log Cabin Build on Off-Grid Homestead [OLlN9Ajsl9k].mp4", false, 3, ~U[2025-10-04 10:00:27Z]] 17:36:53.322 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.322 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-27 10:00:10Z], 3] 17:36:53.325 [debug] QUERY OK source="media_items" db=2.7ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Island Sauna Cabin Build in Finland |EP76| Scandinavian Scribe Method with @Off-Grid-Island", "043bf953-ab0c-49c8-af55-7c17b3114901", 3133, false, "6C82M9etE6U", "https://www.youtube.com/watch?v=6C82M9etE6U", 18, "/downloads/WILD HOMESTEAD/Island Sauna Cabin Build in Finland |EP76| Scandinavian Scribe Method with @Off-Grid-Island/Island Sauna Cabin Build in Finland |EP76| Scandinavian Scribe Method with @Off-Grid-Island [6C82M9etE6U].mp4", false, false, false, 3, [], 98, ~U[2025-09-27 10:00:10Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "Island Sauna Cabin Build in Finland |EP76| Scandinavian Scribe Method with @Off-Grid-Island", 3133, false, "6C82M9etE6U", "https://www.youtube.com/watch?v=6C82M9etE6U", "/downloads/WILD HOMESTEAD/Island Sauna Cabin Build in Finland |EP76| Scandinavian Scribe Method with @Off-Grid-Island/Island Sauna Cabin Build in Finland |EP76| Scandinavian Scribe Method with @Off-Grid-Island [6C82M9etE6U].mp4", false, 3, ~U[2025-09-27 10:00:10Z]] 17:36:53.326 [debug] QUERY OK source="sources" db=0.2ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.326 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-20 10:00:54Z], 3] 17:36:53.328 [debug] QUERY OK source="media_items" db=0.9ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "MODERN Medieval Pit Well: DIY Last Attempt |EP75| Log Cabin Build on Off-Grid Homestead", "0e3f652c-76e0-403a-85cb-db3fc2bd0984", 3233, false, "RgaoZ00uY_M", "https://www.youtube.com/watch?v=RgaoZ00uY_M", 19, "/downloads/WILD HOMESTEAD/MODERN Medieval Pit Well: DIY Last Attempt |EP75| Log Cabin Build on Off-Grid Homestead/MODERN Medieval Pit Well: DIY Last Attempt |EP75| Log Cabin Build on Off-Grid Homestead [RgaoZ00uY_M].mp4", false, false, false, 3, [], 98, ~U[2025-09-20 10:00:54Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "MODERN Medieval Pit Well: DIY Last Attempt |EP75| Log Cabin Build on Off-Grid Homestead", 3233, false, "RgaoZ00uY_M", "https://www.youtube.com/watch?v=RgaoZ00uY_M", "/downloads/WILD HOMESTEAD/MODERN Medieval Pit Well: DIY Last Attempt |EP75| Log Cabin Build on Off-Grid Homestead/MODERN Medieval Pit Well: DIY Last Attempt |EP75| Log Cabin Build on Off-Grid Homestead [RgaoZ00uY_M].mp4", false, 3, ~U[2025-09-20 10:00:54Z]] 17:36:53.328 [debug] QUERY OK source="sources" db=0.2ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 17:36:53.329 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-13 10:30:26Z], 3] 17:36:53.330 [debug] QUERY OK source="media_items" db=1.0ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "DIY Well FAIL: NEW Medieval Pit Well, Road to River |EP74| Log Cabin Build on Off-Grid Homestead", "75f1561f-28c3-4660-a0a5-1565b9bfa536", 3663, false, "p4VLMrQ9e14", "https://www.youtube.com/watch?v=p4VLMrQ9e14", 20, "/downloads/WILD HOMESTEAD/DIY Well FAIL: NEW Medieval Pit Well, Road to River |EP74| Log Cabin Build on Off-Grid Homestead/DIY Well FAIL: NEW Medieval Pit Well, Road to River |EP74| Log Cabin Build on Off-Grid Homestead [p4VLMrQ9e14].mp4", false, false, false, 3, [], 98, ~U[2025-09-13 10:30:26Z], ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], "Log Cabin Building, Homesteading, Bushcraft, Survival Skills, Canadian Wilderness, Off Grid Living, ASMR, Log Cabin, Cabin, Off-grid, Homestead, Fishing, Hunting, Wild Foods\n\nDRINK WOLFMILK COFFEE 🐺🥛☕️\nOrder in USA: http://www.wolfmilkcoffee.com\nRoasted same day as shipping ⚡️\n100% Organic beans 🌱\n\nWOLFMILK COFFEE coming to Canada, UK, Europe, and Australia soon!\n\nInstagram: @wildhomesteadca\n\nThank you to the WILD HOMESTEAD brand partners:\n\nNORWOOD SAWMILLS\nPOLLARD WINDOWS\nCANVAS CAMP TENTS\nNORTHWOODS WOODSTOVES\n\nI left the big city of Toronto to move onto 40-acres of Canadian wilderness with a magical river. I am building an off-grid homestead with multiple log cabins and structures from the timber on the land.\n\nTo all my subscribers, STRENGTH AND HONOUR! 🫡🤝⚡️🐺🌲\n\nJAMES ALOFS", "DIY Well FAIL: NEW Medieval Pit Well, Road to River |EP74| Log Cabin Build on Off-Grid Homestead", 3663, false, "p4VLMrQ9e14", "https://www.youtube.com/watch?v=p4VLMrQ9e14", "/downloads/WILD HOMESTEAD/DIY Well FAIL: NEW Medieval Pit Well, Road to River |EP74| Log Cabin Build on Off-Grid Homestead/DIY Well FAIL: NEW Medieval Pit Well, Road to River |EP74| Log Cabin Build on Off-Grid Homestead [p4VLMrQ9e14].mp4", false, 3, ~U[2025-09-13 10:30:26Z]] 17:36:53.330 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z], 3] 17:36:53.332 [debug] QUERY OK source="tasks" db=0.1ms idle=2.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [405, 3, ~U[2026-02-16 17:36:53Z], ~U[2026-02-16 17:36:53Z]] 17:36:53.332 [info] {"args":{"id":3},"id":394,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":69658130,"event":"job:stop","queue_time":560891,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 17:37:00.608 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:37:04.415 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:34.417 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:00.610 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:38:04.419 [info] {"source":"oban","duration":1038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:04.971 [info] {"args":{"id":2},"id":395,"meta":{},"system_time":1771263484970828746,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 17:38:04.972 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1102.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:04.973 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1013.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:38:04.975 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=554.7ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 17:38:04.975 [debug] QUERY OK source="media_items" db=0.2ms idle=12.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 17:38:04.976 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:04.976 [debug] QUERY OK source="settings" db=0.0ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:38:04.976 [debug] QUERY OK source="settings" db=0.0ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:38:04.978 [debug] QUERY OK source="media_items" db=1.1ms idle=1.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [2] 17:38:04.980 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 17:38:04.981 [debug] Current batch of media processed. Will check again in 1000ms 17:38:04.981 [debug] QUERY OK source="settings" db=0.1ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:38:04.981 [debug] QUERY OK source="settings" db=0.0ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:38:04.981 [debug] QUERY OK source="settings" db=0.1ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:38:04.981 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@GeoWizard --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/GeoWizard/%(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/5f/72/5f72feadcc89ebffebff50cc88853faea171df18e91820a59f5e61e222c50f02.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/5b/04/5b04eecdcb4ccc7248667dfd135dcceaacd9988042cebb291eeebbaf5478c648.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:38:05.982 [debug] Current batch of media processed. Will check again in 1000ms 17:38:06.983 [debug] Current batch of media processed. Will check again in 1000ms 17:38:07.984 [debug] Current batch of media processed. Will check again in 1000ms 17:38:08.985 [debug] Current batch of media processed. Will check again in 1000ms 17:38:09.986 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This week I bring you Geo Detective with a twist. Two twists in fact. We've all taken a photo from a plane window, but how quickly can I geo locate them? and am I better than AI at doing so? Join me as I pull a few random snaps from the internet with increasing levels of difficulty, put my geography skills to the test and attempt to answer that question. The results might surprise you...\n\nSide note: There is a another, pretty sweaty Geo Detective in progress which will hopefully be with you soon.\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nENJOY COUNTLESS EXLUSIVE ADVENTURES AND EARLY ACCESS ON PATREON:\nhttps://www.patreon.com/c/geowizard", "duration" => 1754, "filename" => "/downloads/GeoWizard/Am I better than AI at pinpointing the exact location of random aeroplane window photos?/Am I better than AI at pinpointing the exact location of random aeroplane window photos? [xZQJhXAAZZ8].mp4", "id" => "xZQJhXAAZZ8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZQJhXAAZZ8", "playlist_index" => 1, "timestamp" => 1770055136, "title" => "Am I better than AI at pinpointing the exact location of random aeroplane window photos?", "upload_date" => "20260202"} 17:38:09.988 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1118.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:09.989 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1119.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:09.993 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=1120.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-02 17:58:56Z], 2] 17:38:09.996 [debug] QUERY OK source="media_items" db=1.9ms idle=1024.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["This week I bring you Geo Detective with a twist. Two twists in fact. We've all taken a photo from a plane window, but how quickly can I geo locate them? and am I better than AI at doing so? Join me as I pull a few random snaps from the internet with increasing levels of difficulty, put my geography skills to the test and attempt to answer that question. The results might surprise you...\n\nSide note: There is a another, pretty sweaty Geo Detective in progress which will hopefully be with you soon.\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nENJOY COUNTLESS EXLUSIVE ADVENTURES AND EARLY ACCESS ON PATREON:\nhttps://www.patreon.com/c/geowizard", "Am I better than AI at pinpointing the exact location of random aeroplane window photos?", "3ebd0326-9c4c-4a1a-9f9a-4d3462aa00e7", 1754, false, "xZQJhXAAZZ8", "https://www.youtube.com/watch?v=xZQJhXAAZZ8", 1, "/downloads/GeoWizard/Am I better than AI at pinpointing the exact location of random aeroplane window photos?/Am I better than AI at pinpointing the exact location of random aeroplane window photos? [xZQJhXAAZZ8].mp4", false, false, false, 2, [], 98, ~U[2026-02-02 17:58:56Z], ~U[2026-02-16 17:38:09Z], ~U[2026-02-16 17:38:09Z], "This week I bring you Geo Detective with a twist. Two twists in fact. We've all taken a photo from a plane window, but how quickly can I geo locate them? and am I better than AI at doing so? Join me as I pull a few random snaps from the internet with increasing levels of difficulty, put my geography skills to the test and attempt to answer that question. The results might surprise you...\n\nSide note: There is a another, pretty sweaty Geo Detective in progress which will hopefully be with you soon.\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nENJOY COUNTLESS EXLUSIVE ADVENTURES AND EARLY ACCESS ON PATREON:\nhttps://www.patreon.com/c/geowizard", "Am I better than AI at pinpointing the exact location of random aeroplane window photos?", 1754, false, "xZQJhXAAZZ8", "https://www.youtube.com/watch?v=xZQJhXAAZZ8", "/downloads/GeoWizard/Am I better than AI at pinpointing the exact location of random aeroplane window photos?/Am I better than AI at pinpointing the exact location of random aeroplane window photos? [xZQJhXAAZZ8].mp4", false, 2, ~U[2026-02-02 17:58:56Z]] 17:38:09.996 [debug] QUERY OK source="sources" db=0.3ms idle=24.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:09.997 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:09.997 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19631] 17:38:09.997 [debug] Current batch of media processed. Will check again in 1000ms 17:38:10.999 [debug] Current batch of media processed. Will check again in 1000ms 17:38:12.000 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.33, "description" => "Ever gazed at your computer background and thought.. where's that? Imagine if I just travelled there right now. How long would it take me? Would there be any adversity? Today I answer those burning questions. Join me as I blend Geo Detective with adventure, and have myself a unique adventure in a completely random corner of the globe.\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nWATCH THESE EPISODES EARLY + DOZENS MORE ADVENTURES ON PATREON:\nhttps://www.patreon.com/c/geowizard", "duration" => 2344, "filename" => "/downloads/GeoWizard/The next windows background that appears, I travel to#/The next windows background that appears, I travel to. [Xl1cui5IS6s].mp4", "id" => "Xl1cui5IS6s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Xl1cui5IS6s", "playlist_index" => 2, "timestamp" => 1768158106, "title" => "The next windows background that appears, I travel to.", "upload_date" => "20260111"} 17:38:12.002 [debug] QUERY OK source="sources" db=0.4ms queue=0.3ms idle=132.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:12.003 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=133.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:12.008 [debug] QUERY OK source="media_items" db=4.1ms idle=134.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-11 19:01:46Z], 2] 17:38:12.012 [debug] QUERY OK source="media_items" db=2.9ms idle=139.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Ever gazed at your computer background and thought.. where's that? Imagine if I just travelled there right now. How long would it take me? Would there be any adversity? Today I answer those burning questions. Join me as I blend Geo Detective with adventure, and have myself a unique adventure in a completely random corner of the globe.\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nWATCH THESE EPISODES EARLY + DOZENS MORE ADVENTURES ON PATREON:\nhttps://www.patreon.com/c/geowizard", "The next windows background that appears, I travel to.", "c26bbd58-6016-4191-83d6-6c17b69465c3", 2344, false, "Xl1cui5IS6s", "https://www.youtube.com/watch?v=Xl1cui5IS6s", 2, "/downloads/GeoWizard/The next windows background that appears, I travel to#/The next windows background that appears, I travel to. [Xl1cui5IS6s].mp4", false, false, false, 2, [], 98, ~U[2026-01-11 19:01:46Z], ~U[2026-02-16 17:38:12Z], ~U[2026-02-16 17:38:12Z], "Ever gazed at your computer background and thought.. where's that? Imagine if I just travelled there right now. How long would it take me? Would there be any adversity? Today I answer those burning questions. Join me as I blend Geo Detective with adventure, and have myself a unique adventure in a completely random corner of the globe.\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nWATCH THESE EPISODES EARLY + DOZENS MORE ADVENTURES ON PATREON:\nhttps://www.patreon.com/c/geowizard", "The next windows background that appears, I travel to.", 2344, false, "Xl1cui5IS6s", "https://www.youtube.com/watch?v=Xl1cui5IS6s", "/downloads/GeoWizard/The next windows background that appears, I travel to#/The next windows background that appears, I travel to. [Xl1cui5IS6s].mp4", false, 2, ~U[2026-01-11 19:01:46Z]] 17:38:12.013 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=37.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:12.015 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=12.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:12.016 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=12.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [324] 17:38:12.017 [debug] Current batch of media processed. Will check again in 1000ms 17:38:13.018 [debug] Current batch of media processed. Will check again in 1000ms 17:38:14.019 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.33, "description" => "My Austrian adventure continues and concludes with this hefty final episode, and rest assured that things start to hot up. The interactions increase, as does the foraging, and I even avoid another night on a bench, right at the death. What follows is another of my classic heartwarming but slightly odd experiences, followed by a calamitous ending. \n\n***SUBTITLES RECOMMENDED AS SOME SPEECH IS IN GERMAN***\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nWATCH THESE EPISODES EARLY + DOZENS MORE ADVENTURES ON PATREON:\nhttps://www.patreon.com/c/geowizard\n-------------------------------------------------------------------------------------------------------------------\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\n\nWeinlese Polka by Die Stimmigen, https://t.lickd.co/l/zR37MwPr2y0", "duration" => 3682, "filename" => "/downloads/GeoWizard/My Austrian "Tenner in my pocket" adventure takes an unexpected turn (and doesn't end well)/My Austrian "Tenner in my pocket" adventure takes an unexpected turn (and doesn't end well) [9mhdjKgj4GI].mp4", "id" => "9mhdjKgj4GI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9mhdjKgj4GI", "playlist_index" => 3, "timestamp" => 1766509188, "title" => "My Austrian \"Tenner in my pocket\" adventure takes an unexpected turn (and doesn't end well)", "upload_date" => "20251223"} 17:38:14.019 [debug] QUERY OK source="sources" db=0.3ms idle=150.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:14.020 [debug] QUERY OK source="sources" db=0.3ms queue=0.3ms idle=150.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:14.023 [debug] QUERY OK source="media_items" db=2.4ms idle=151.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-23 16:59:48Z], 2] 17:38:14.025 [debug] QUERY OK source="media_items" db=1.6ms idle=154.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["My Austrian adventure continues and concludes with this hefty final episode, and rest assured that things start to hot up. The interactions increase, as does the foraging, and I even avoid another night on a bench, right at the death. What follows is another of my classic heartwarming but slightly odd experiences, followed by a calamitous ending. \n\n***SUBTITLES RECOMMENDED AS SOME SPEECH IS IN GERMAN***\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nWATCH THESE EPISODES EARLY + DOZENS MORE ADVENTURES ON PATREON:\nhttps://www.patreon.com/c/geowizard\n-------------------------------------------------------------------------------------------------------------------\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\n\nWeinlese Polka by Die Stimmigen, https://t.lickd.co/l/zR37MwPr2y0", "My Austrian \"Tenner in my pocket\" adventure takes an unexpected turn (and doesn't end well)", "1279f435-fe3f-4692-a1f3-f09e0ab326fc", 3682, false, "9mhdjKgj4GI", "https://www.youtube.com/watch?v=9mhdjKgj4GI", 3, "/downloads/GeoWizard/My Austrian "Tenner in my pocket" adventure takes an unexpected turn (and doesn't end well)/My Austrian "Tenner in my pocket" adventure takes an unexpected turn (and doesn't end well) [9mhdjKgj4GI].mp4", false, false, false, 2, [], 98, ~U[2025-12-23 16:59:48Z], ~U[2026-02-16 17:38:14Z], ~U[2026-02-16 17:38:14Z], "My Austrian adventure continues and concludes with this hefty final episode, and rest assured that things start to hot up. The interactions increase, as does the foraging, and I even avoid another night on a bench, right at the death. What follows is another of my classic heartwarming but slightly odd experiences, followed by a calamitous ending. \n\n***SUBTITLES RECOMMENDED AS SOME SPEECH IS IN GERMAN***\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nWATCH THESE EPISODES EARLY + DOZENS MORE ADVENTURES ON PATREON:\nhttps://www.patreon.com/c/geowizard\n-------------------------------------------------------------------------------------------------------------------\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\n\nWeinlese Polka by Die Stimmigen, https://t.lickd.co/l/zR37MwPr2y0", "My Austrian \"Tenner in my pocket\" adventure takes an unexpected turn (and doesn't end well)", 3682, false, "9mhdjKgj4GI", "https://www.youtube.com/watch?v=9mhdjKgj4GI", "/downloads/GeoWizard/My Austrian "Tenner in my pocket" adventure takes an unexpected turn (and doesn't end well)/My Austrian "Tenner in my pocket" adventure takes an unexpected turn (and doesn't end well) [9mhdjKgj4GI].mp4", false, 2, ~U[2025-12-23 16:59:48Z]] 17:38:14.026 [debug] QUERY OK source="sources" db=0.6ms idle=48.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:14.028 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.4ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:14.029 [debug] QUERY OK source="media_items" db=1.1ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [325] 17:38:14.030 [debug] Current batch of media processed. Will check again in 1000ms 17:38:15.031 [debug] Current batch of media processed. Will check again in 1000ms 17:38:16.032 [debug] Current batch of media processed. Will check again in 1000ms 17:38:17.033 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.33, "description" => "The most relaxing travel series you're ever going to watch (on this channel at least) is back by popular demand, except this time things up a notch as I try my luck in a foreign land. With nothing but £10 (€12) in my pocket and a sleeping bag in my rucksack, join me as I leave Salzburg and simply stroll east into the breathtakingly beautiful Austrian countryside with no specific aims other than to meet lovely people, find some food and water, and see if I can sleep somewhere comfier than a park bench. \n\n***SUBTITLES RECOMMENDED AS SOME SPEECH IS IN GERMAN***\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nWATCH THESE EPISODES EARLY + DOZENS MORE ADVENTURES ON PATREON:\nhttps://www.patreon.com/c/geowizard\n-------------------------------------------------------------------------------------------------------------------\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\n\nWeinlese Polka by Die Stimmigen, https://t.lickd.co/l/6wmEokMDjn8\nEdelweiss by Roland Steinel, https://t.lickd.co/l/6KGeN085Qg9", "duration" => 2179, "filename" => "/downloads/GeoWizard/I stuffed a tenner in my pocket and set off into the Austrian countryside/I stuffed a tenner in my pocket and set off into the Austrian countryside [hEgRFcISdRY].mp4", "id" => "hEgRFcISdRY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hEgRFcISdRY", "playlist_index" => 4, "timestamp" => 1765825011, "title" => "I stuffed a tenner in my pocket and set off into the Austrian countryside", "upload_date" => "20251215"} 17:38:17.033 [debug] QUERY OK source="sources" db=0.2ms idle=1164.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:17.034 [debug] QUERY OK source="sources" db=0.3ms idle=1164.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:17.035 [debug] QUERY OK source="media_items" db=1.0ms idle=1165.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-15 18:56:51Z], 2] 17:38:17.037 [debug] QUERY OK source="media_items" db=1.2ms idle=1054.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The most relaxing travel series you're ever going to watch (on this channel at least) is back by popular demand, except this time things up a notch as I try my luck in a foreign land. With nothing but £10 (€12) in my pocket and a sleeping bag in my rucksack, join me as I leave Salzburg and simply stroll east into the breathtakingly beautiful Austrian countryside with no specific aims other than to meet lovely people, find some food and water, and see if I can sleep somewhere comfier than a park bench. \n\n***SUBTITLES RECOMMENDED AS SOME SPEECH IS IN GERMAN***\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nWATCH THESE EPISODES EARLY + DOZENS MORE ADVENTURES ON PATREON:\nhttps://www.patreon.com/c/geowizard\n-------------------------------------------------------------------------------------------------------------------\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\n\nWeinlese Polka by Die Stimmigen, https://t.lickd.co/l/6wmEokMDjn8\nEdelweiss by Roland Steinel, https://t.lickd.co/l/6KGeN085Qg9", "I stuffed a tenner in my pocket and set off into the Austrian countryside", "c058956f-028b-4282-8701-6debfdbde666", 2179, false, "hEgRFcISdRY", "https://www.youtube.com/watch?v=hEgRFcISdRY", 4, "/downloads/GeoWizard/I stuffed a tenner in my pocket and set off into the Austrian countryside/I stuffed a tenner in my pocket and set off into the Austrian countryside [hEgRFcISdRY].mp4", false, false, false, 2, [], 98, ~U[2025-12-15 18:56:51Z], ~U[2026-02-16 17:38:17Z], ~U[2026-02-16 17:38:17Z], "The most relaxing travel series you're ever going to watch (on this channel at least) is back by popular demand, except this time things up a notch as I try my luck in a foreign land. With nothing but £10 (€12) in my pocket and a sleeping bag in my rucksack, join me as I leave Salzburg and simply stroll east into the breathtakingly beautiful Austrian countryside with no specific aims other than to meet lovely people, find some food and water, and see if I can sleep somewhere comfier than a park bench. \n\n***SUBTITLES RECOMMENDED AS SOME SPEECH IS IN GERMAN***\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nWATCH THESE EPISODES EARLY + DOZENS MORE ADVENTURES ON PATREON:\nhttps://www.patreon.com/c/geowizard\n-------------------------------------------------------------------------------------------------------------------\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\n\nWeinlese Polka by Die Stimmigen, https://t.lickd.co/l/6wmEokMDjn8\nEdelweiss by Roland Steinel, https://t.lickd.co/l/6KGeN085Qg9", "I stuffed a tenner in my pocket and set off into the Austrian countryside", 2179, false, "hEgRFcISdRY", "https://www.youtube.com/watch?v=hEgRFcISdRY", "/downloads/GeoWizard/I stuffed a tenner in my pocket and set off into the Austrian countryside/I stuffed a tenner in my pocket and set off into the Austrian countryside [hEgRFcISdRY].mp4", false, 2, ~U[2025-12-15 18:56:51Z]] 17:38:17.037 [debug] QUERY OK source="sources" db=0.2ms idle=52.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:17.038 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:17.038 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [326] 17:38:17.038 [debug] Current batch of media processed. Will check again in 1000ms 17:38:18.039 [debug] Current batch of media processed. Will check again in 1000ms 17:38:19.040 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The internet's most heartwarming Geography series continues with this lovely offering. It's not the mega hard one that I promised last time (that's a work in progress!) but it didn't fail to occupy and confuse me..\n\nCan I find out where Daniel and his deceased father went on holiday 25 years ago so that he can bring his daughter closer to the grandad she never met? or will the red herrings prove too much for my tiny brain...\n\nPOSTERS, ALBUM + MORE: https://www.officialgeowizardstore.com/\n\nMOM'S MURDER MYSTERY NOVELS: https://www.amazon.co.uk/stores/Jane-Hurst/author/B0C28MXTDW?ref=sr_ntt_srch_lnk_3&qid=1764838054&sr=1-3&isDramIntegrated=true&shoppingPortalEnabled=true", "duration" => 1512, "filename" => "/downloads/GeoWizard/"My daughter never met her Grandad. Help me recreate this photo with her" [GEO DETECTIVE #36]/"My daughter never met her Grandad. Help me recreate this photo with her" [GEO DETECTIVE #36] [4IQu3wGLEAo].mp4", "id" => "4IQu3wGLEAo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4IQu3wGLEAo", "playlist_index" => 5, "timestamp" => 1764871205, "title" => "\"My daughter never met her Grandad. Help me recreate this photo with her\" [GEO DETECTIVE #36]", "upload_date" => "20251204"} 17:38:19.042 [debug] QUERY OK source="sources" db=1.5ms idle=171.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:19.044 [debug] QUERY OK source="sources" db=1.2ms idle=173.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:19.046 [debug] QUERY OK source="media_items" db=2.0ms idle=175.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-04 18:00:05Z], 2] 17:38:19.049 [debug] QUERY OK source="media_items" db=1.9ms idle=177.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The internet's most heartwarming Geography series continues with this lovely offering. It's not the mega hard one that I promised last time (that's a work in progress!) but it didn't fail to occupy and confuse me..\n\nCan I find out where Daniel and his deceased father went on holiday 25 years ago so that he can bring his daughter closer to the grandad she never met? or will the red herrings prove too much for my tiny brain...\n\nPOSTERS, ALBUM + MORE: https://www.officialgeowizardstore.com/\n\nMOM'S MURDER MYSTERY NOVELS: https://www.amazon.co.uk/stores/Jane-Hurst/author/B0C28MXTDW?ref=sr_ntt_srch_lnk_3&qid=1764838054&sr=1-3&isDramIntegrated=true&shoppingPortalEnabled=true", "\"My daughter never met her Grandad. Help me recreate this photo with her\" [GEO DETECTIVE #36]", "e25a376d-5782-4e37-8b62-69d90a746162", 1512, false, "4IQu3wGLEAo", "https://www.youtube.com/watch?v=4IQu3wGLEAo", 5, "/downloads/GeoWizard/"My daughter never met her Grandad. Help me recreate this photo with her" [GEO DETECTIVE #36]/"My daughter never met her Grandad. Help me recreate this photo with her" [GEO DETECTIVE #36] [4IQu3wGLEAo].mp4", false, false, false, 2, [], 98, ~U[2025-12-04 18:00:05Z], ~U[2026-02-16 17:38:19Z], ~U[2026-02-16 17:38:19Z], "The internet's most heartwarming Geography series continues with this lovely offering. It's not the mega hard one that I promised last time (that's a work in progress!) but it didn't fail to occupy and confuse me..\n\nCan I find out where Daniel and his deceased father went on holiday 25 years ago so that he can bring his daughter closer to the grandad she never met? or will the red herrings prove too much for my tiny brain...\n\nPOSTERS, ALBUM + MORE: https://www.officialgeowizardstore.com/\n\nMOM'S MURDER MYSTERY NOVELS: https://www.amazon.co.uk/stores/Jane-Hurst/author/B0C28MXTDW?ref=sr_ntt_srch_lnk_3&qid=1764838054&sr=1-3&isDramIntegrated=true&shoppingPortalEnabled=true", "\"My daughter never met her Grandad. Help me recreate this photo with her\" [GEO DETECTIVE #36]", 1512, false, "4IQu3wGLEAo", "https://www.youtube.com/watch?v=4IQu3wGLEAo", "/downloads/GeoWizard/"My daughter never met her Grandad. Help me recreate this photo with her" [GEO DETECTIVE #36]/"My daughter never met her Grandad. Help me recreate this photo with her" [GEO DETECTIVE #36] [4IQu3wGLEAo].mp4", false, 2, ~U[2025-12-04 18:00:05Z]] 17:38:19.049 [debug] QUERY OK source="sources" db=0.3ms idle=61.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:19.050 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:19.051 [debug] QUERY OK source="media_items" db=0.4ms idle=6.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [327] 17:38:19.051 [debug] Current batch of media processed. Will check again in 1000ms 17:38:20.052 [debug] Current batch of media processed. Will check again in 1000ms 17:38:21.053 [debug] Current batch of media processed. Will check again in 1000ms 17:38:22.054 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.33, "description" => "I'm on a quest to inspire the nation to fall in love with the great outdoors, but it dawned on me recently that I might be failing. After all, not everyone wants to be chased by a farmer or get lost in a sewer. I needed to strip things back to basics, so this summer I grabbed a tent, a sleeping bag and a few other bits and set off into the mystical landscapes of Snowdonia for what is probably my all time favorite style of adventure: Three days of hiking through nature, finding great wild camping spots, indulging in some wild swimming and wild cooking, and ending up at a cosy pub. \n\nIn some ways this is quite a big departure from my usual jaunts - there's less danger or jeopardy involved (although still a fair bit), but I'm really hoping that by the time you've watched it you'll have a new found appreciation for this magical place, and maybe even a new perspective on what it means to embark on an epic adventure.\n\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\nThe Blacksmith by Steeleye Span, https://t.lickd.co/l/Qg25AE532dv\nThe Blacksmith by Steeleye Span, https://t.lickd.co/l/RPVbewMOmp6\nFolk Blokes by David Michael, Lee Pomeroy, https://t.lickd.co/l/gbWRkz2DXkn\nHair Across the Frets by Wild Willy Barrett, https://t.lickd.co/l/LXrww4YDraE\nLucky Thirteen by Bert Jansch, John Renbourn, https://t.lickd.co/l/NPjEZlq9w0B", "duration" => 3699, "filename" => "/downloads/GeoWizard/The best adventure you’ll ever have is right on your doorstep [3 days in Snowdonia]/The best adventure you’ll ever have is right on your doorstep [3 days in Snowdonia] [WlHyCZre3zE].mp4", "id" => "WlHyCZre3zE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WlHyCZre3zE", "playlist_index" => 6, "timestamp" => 1762163090, "title" => "The best adventure you’ll ever have is right on your doorstep [3 days in Snowdonia]", "upload_date" => "20251103"} 17:38:22.055 [debug] QUERY OK source="sources" db=0.4ms idle=1185.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:22.056 [debug] QUERY OK source="sources" db=0.3ms idle=1186.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:22.058 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=1187.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-03 09:44:50Z], 2] 17:38:22.062 [debug] QUERY OK source="media_items" db=2.5ms idle=1067.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I'm on a quest to inspire the nation to fall in love with the great outdoors, but it dawned on me recently that I might be failing. After all, not everyone wants to be chased by a farmer or get lost in a sewer. I needed to strip things back to basics, so this summer I grabbed a tent, a sleeping bag and a few other bits and set off into the mystical landscapes of Snowdonia for what is probably my all time favorite style of adventure: Three days of hiking through nature, finding great wild camping spots, indulging in some wild swimming and wild cooking, and ending up at a cosy pub. \n\nIn some ways this is quite a big departure from my usual jaunts - there's less danger or jeopardy involved (although still a fair bit), but I'm really hoping that by the time you've watched it you'll have a new found appreciation for this magical place, and maybe even a new perspective on what it means to embark on an epic adventure.\n\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\nThe Blacksmith by Steeleye Span, https://t.lickd.co/l/Qg25AE532dv\nThe Blacksmith by Steeleye Span, https://t.lickd.co/l/RPVbewMOmp6\nFolk Blokes by David Michael, Lee Pomeroy, https://t.lickd.co/l/gbWRkz2DXkn\nHair Across the Frets by Wild Willy Barrett, https://t.lickd.co/l/LXrww4YDraE\nLucky Thirteen by Bert Jansch, John Renbourn, https://t.lickd.co/l/NPjEZlq9w0B", "The best adventure you’ll ever have is right on your doorstep [3 days in Snowdonia]", "2931b6ca-ff93-4551-a740-1373a428c63f", 3699, false, "WlHyCZre3zE", "https://www.youtube.com/watch?v=WlHyCZre3zE", 6, "/downloads/GeoWizard/The best adventure you’ll ever have is right on your doorstep [3 days in Snowdonia]/The best adventure you’ll ever have is right on your doorstep [3 days in Snowdonia] [WlHyCZre3zE].mp4", false, false, false, 2, [], 98, ~U[2025-11-03 09:44:50Z], ~U[2026-02-16 17:38:22Z], ~U[2026-02-16 17:38:22Z], "I'm on a quest to inspire the nation to fall in love with the great outdoors, but it dawned on me recently that I might be failing. After all, not everyone wants to be chased by a farmer or get lost in a sewer. I needed to strip things back to basics, so this summer I grabbed a tent, a sleeping bag and a few other bits and set off into the mystical landscapes of Snowdonia for what is probably my all time favorite style of adventure: Three days of hiking through nature, finding great wild camping spots, indulging in some wild swimming and wild cooking, and ending up at a cosy pub. \n\nIn some ways this is quite a big departure from my usual jaunts - there's less danger or jeopardy involved (although still a fair bit), but I'm really hoping that by the time you've watched it you'll have a new found appreciation for this magical place, and maybe even a new perspective on what it means to embark on an epic adventure.\n\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\nThe Blacksmith by Steeleye Span, https://t.lickd.co/l/Qg25AE532dv\nThe Blacksmith by Steeleye Span, https://t.lickd.co/l/RPVbewMOmp6\nFolk Blokes by David Michael, Lee Pomeroy, https://t.lickd.co/l/gbWRkz2DXkn\nHair Across the Frets by Wild Willy Barrett, https://t.lickd.co/l/LXrww4YDraE\nLucky Thirteen by Bert Jansch, John Renbourn, https://t.lickd.co/l/NPjEZlq9w0B", "The best adventure you’ll ever have is right on your doorstep [3 days in Snowdonia]", 3699, false, "WlHyCZre3zE", "https://www.youtube.com/watch?v=WlHyCZre3zE", "/downloads/GeoWizard/The best adventure you’ll ever have is right on your doorstep [3 days in Snowdonia]/The best adventure you’ll ever have is right on your doorstep [3 days in Snowdonia] [WlHyCZre3zE].mp4", false, 2, ~U[2025-11-03 09:44:50Z]] 17:38:22.063 [debug] QUERY OK source="sources" db=0.7ms idle=68.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:22.064 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=8.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:22.065 [debug] QUERY OK source="media_items" db=0.7ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [328] 17:38:22.065 [debug] Current batch of media processed. Will check again in 1000ms 17:38:23.066 [debug] Current batch of media processed. Will check again in 1000ms 17:38:24.067 [debug] Current batch of media processed. Will check again in 1000ms 17:38:25.068 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Geo Detective is back! and we resume things with this stunning photo of Pete's grandfather taken way back in 1930. I had this one down as a hard one mainly because of the age of the photo and how little buildings we can see. Can I use my geographical knowledge and google earth skills to figure out exactly where Pete's ancestors stood that sunny day? or will this one simply prove impossible...\n\nSign up to my Patreon to watch the deleted episode along with dozens of exclusive adventures!\n\nhttps://www.patreon.com/c/geowizard", "duration" => 1146, "filename" => "/downloads/GeoWizard/"Please find out where my 5 year old grandfather went on holiday in 1930" [Geo Detective #35]/"Please find out where my 5 year old grandfather went on holiday in 1930" [Geo Detective #35] [V7kfrOl-240].mp4", "id" => "V7kfrOl-240", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=V7kfrOl-240", "playlist_index" => 7, "timestamp" => 1759345234, "title" => "\"Please find out where my 5 year old grandfather went on holiday in 1930\" [Geo Detective #35]", "upload_date" => "20251001"} 17:38:25.069 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1199.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:25.071 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1201.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:25.074 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=1202.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-01 19:00:34Z], 2] 17:38:25.078 [debug] QUERY OK source="media_items" db=2.7ms idle=1079.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Geo Detective is back! and we resume things with this stunning photo of Pete's grandfather taken way back in 1930. I had this one down as a hard one mainly because of the age of the photo and how little buildings we can see. Can I use my geographical knowledge and google earth skills to figure out exactly where Pete's ancestors stood that sunny day? or will this one simply prove impossible...\n\nSign up to my Patreon to watch the deleted episode along with dozens of exclusive adventures!\n\nhttps://www.patreon.com/c/geowizard", "\"Please find out where my 5 year old grandfather went on holiday in 1930\" [Geo Detective #35]", "b2220e4f-582d-434b-bab9-5ab9cc467081", 1146, false, "V7kfrOl-240", "https://www.youtube.com/watch?v=V7kfrOl-240", 7, "/downloads/GeoWizard/"Please find out where my 5 year old grandfather went on holiday in 1930" [Geo Detective #35]/"Please find out where my 5 year old grandfather went on holiday in 1930" [Geo Detective #35] [V7kfrOl-240].mp4", false, false, false, 2, [], 98, ~U[2025-10-01 19:00:34Z], ~U[2026-02-16 17:38:25Z], ~U[2026-02-16 17:38:25Z], "Geo Detective is back! and we resume things with this stunning photo of Pete's grandfather taken way back in 1930. I had this one down as a hard one mainly because of the age of the photo and how little buildings we can see. Can I use my geographical knowledge and google earth skills to figure out exactly where Pete's ancestors stood that sunny day? or will this one simply prove impossible...\n\nSign up to my Patreon to watch the deleted episode along with dozens of exclusive adventures!\n\nhttps://www.patreon.com/c/geowizard", "\"Please find out where my 5 year old grandfather went on holiday in 1930\" [Geo Detective #35]", 1146, false, "V7kfrOl-240", "https://www.youtube.com/watch?v=V7kfrOl-240", "/downloads/GeoWizard/"Please find out where my 5 year old grandfather went on holiday in 1930" [Geo Detective #35]/"Please find out where my 5 year old grandfather went on holiday in 1930" [Geo Detective #35] [V7kfrOl-240].mp4", false, 2, ~U[2025-10-01 19:00:34Z]] 17:38:25.079 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=80.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:25.081 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=10.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:25.083 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=11.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 [329] 17:38:25.083 [debug] Current batch of media processed. Will check again in 1000ms 17:38:26.084 [debug] Current batch of media processed. Will check again in 1000ms 17:38:27.085 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.33, "description" => "My most ambitious/mental urban adventure to date draws to a reluctant close, but I've saved all the best content till last. My ticket to the southern edge of Greater London is now via the Ravensbourne river, a fascinating but sometimes filthy semi-subterranean tributary of the Thames. My decision to leave it temporarily results in one of the most exhausting shortcuts ever taken, and a subtle flaw in my route late on that leads to one of the most wretched ordeals me or my uncle Ed have ever experienced. Will we make it out of the sewers and complete the mission with no deviations? or will my luck finally run out...\n\n***GOOD ENGLISH SUBTITLES AVAILABLE***\n\n***I SCRAPPED THE MINI MAP ON THIS ONE AS I FELT IT WAS MORE OF A HINDRANCE/DISTRACTION THAN ANYTHING ELSE***\n___________________________________________________________________________\n\nLISTEN TO MY BRAND NEW ALBUM \"PLEASANT PUDDING\" HERE:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\nBandcamp: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventure episodes a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0", "duration" => 3530, "filename" => "/downloads/GeoWizard/Lost in the sewers of London [London no roads #3]/Lost in the sewers of London [London no roads #3] [DRHHTQZXhoI].mp4", "id" => "DRHHTQZXhoI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DRHHTQZXhoI", "playlist_index" => 8, "timestamp" => 1757876404, "title" => "Lost in the sewers of London [London no roads #3]", "upload_date" => "20250914"} 17:38:27.085 [debug] QUERY OK source="sources" db=0.3ms idle=216.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:27.086 [debug] QUERY OK source="sources" db=0.4ms idle=216.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:27.087 [debug] QUERY OK source="media_items" db=1.2ms idle=217.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-14 19:00:04Z], 2] 17:38:27.089 [debug] QUERY OK source="media_items" db=1.4ms idle=219.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["My most ambitious/mental urban adventure to date draws to a reluctant close, but I've saved all the best content till last. My ticket to the southern edge of Greater London is now via the Ravensbourne river, a fascinating but sometimes filthy semi-subterranean tributary of the Thames. My decision to leave it temporarily results in one of the most exhausting shortcuts ever taken, and a subtle flaw in my route late on that leads to one of the most wretched ordeals me or my uncle Ed have ever experienced. Will we make it out of the sewers and complete the mission with no deviations? or will my luck finally run out...\n\n***GOOD ENGLISH SUBTITLES AVAILABLE***\n\n***I SCRAPPED THE MINI MAP ON THIS ONE AS I FELT IT WAS MORE OF A HINDRANCE/DISTRACTION THAN ANYTHING ELSE***\n___________________________________________________________________________\n\nLISTEN TO MY BRAND NEW ALBUM \"PLEASANT PUDDING\" HERE:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\nBandcamp: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventure episodes a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0", "Lost in the sewers of London [London no roads #3]", "83dcbe18-4e5d-4f82-a61a-de3cedc0b5fa", 3530, false, "DRHHTQZXhoI", "https://www.youtube.com/watch?v=DRHHTQZXhoI", 8, "/downloads/GeoWizard/Lost in the sewers of London [London no roads #3]/Lost in the sewers of London [London no roads #3] [DRHHTQZXhoI].mp4", false, false, false, 2, [], 98, ~U[2025-09-14 19:00:04Z], ~U[2026-02-16 17:38:27Z], ~U[2026-02-16 17:38:27Z], "My most ambitious/mental urban adventure to date draws to a reluctant close, but I've saved all the best content till last. My ticket to the southern edge of Greater London is now via the Ravensbourne river, a fascinating but sometimes filthy semi-subterranean tributary of the Thames. My decision to leave it temporarily results in one of the most exhausting shortcuts ever taken, and a subtle flaw in my route late on that leads to one of the most wretched ordeals me or my uncle Ed have ever experienced. Will we make it out of the sewers and complete the mission with no deviations? or will my luck finally run out...\n\n***GOOD ENGLISH SUBTITLES AVAILABLE***\n\n***I SCRAPPED THE MINI MAP ON THIS ONE AS I FELT IT WAS MORE OF A HINDRANCE/DISTRACTION THAN ANYTHING ELSE***\n___________________________________________________________________________\n\nLISTEN TO MY BRAND NEW ALBUM \"PLEASANT PUDDING\" HERE:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\nBandcamp: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventure episodes a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0", "Lost in the sewers of London [London no roads #3]", 3530, false, "DRHHTQZXhoI", "https://www.youtube.com/watch?v=DRHHTQZXhoI", "/downloads/GeoWizard/Lost in the sewers of London [London no roads #3]/Lost in the sewers of London [London no roads #3] [DRHHTQZXhoI].mp4", false, 2, ~U[2025-09-14 19:00:04Z]] 17:38:27.090 [debug] QUERY OK source="sources" db=0.2ms idle=88.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:27.090 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:27.091 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [330] 17:38:27.091 [debug] Current batch of media processed. Will check again in 1000ms 17:38:28.092 [debug] Current batch of media processed. Will check again in 1000ms 17:38:29.093 [debug] Current batch of media processed. Will check again in 1000ms 17:38:30.094 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.33, "description" => "This unhinged urban adventure continues with part 2 of 3, and we’re about to enter the beating heart of the city. Things have already been trickier and slower than expected up until this point, but with fence riddled schools, apartment complexes, and construction sites standing between me and the Thames, there can be no dilly-dallying. Can I smash my way through it all? Or will a series of unexpected obstacles in Canary Wharf spell the end?\n\n***GOOD ENGLISH SUBTITLES AVAILABLE***\n___________________________________________________________________________\n\nLISTEN TO MY BRAND NEW ALBUM \"PLEASANT PUDDING\" HERE:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\nBandcamp: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventure episodes a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0", "duration" => 1999, "filename" => "/downloads/GeoWizard/Things get silly as I enter the heart of the city [London no roads #2]/Things get silly as I enter the heart of the city [London no roads #2] [8xn549ahaS4].mp4", "id" => "8xn549ahaS4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8xn549ahaS4", "playlist_index" => 9, "timestamp" => 1756661402, "title" => "Things get silly as I enter the heart of the city [London no roads #2]", "upload_date" => "20250831"} 17:38:30.094 [debug] QUERY OK source="sources" db=0.2ms idle=1224.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:30.095 [debug] QUERY OK source="sources" db=0.6ms idle=1224.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:30.099 [debug] QUERY OK source="media_items" db=3.4ms idle=1225.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-31 17:30:02Z], 2] 17:38:30.101 [debug] QUERY OK source="media_items" db=1.0ms idle=1095.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["This unhinged urban adventure continues with part 2 of 3, and we’re about to enter the beating heart of the city. Things have already been trickier and slower than expected up until this point, but with fence riddled schools, apartment complexes, and construction sites standing between me and the Thames, there can be no dilly-dallying. Can I smash my way through it all? Or will a series of unexpected obstacles in Canary Wharf spell the end?\n\n***GOOD ENGLISH SUBTITLES AVAILABLE***\n___________________________________________________________________________\n\nLISTEN TO MY BRAND NEW ALBUM \"PLEASANT PUDDING\" HERE:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\nBandcamp: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventure episodes a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0", "Things get silly as I enter the heart of the city [London no roads #2]", "2c0d24ba-43fc-4cab-81fd-c7a76393192a", 1999, false, "8xn549ahaS4", "https://www.youtube.com/watch?v=8xn549ahaS4", 9, "/downloads/GeoWizard/Things get silly as I enter the heart of the city [London no roads #2]/Things get silly as I enter the heart of the city [London no roads #2] [8xn549ahaS4].mp4", false, false, false, 2, [], 98, ~U[2025-08-31 17:30:02Z], ~U[2026-02-16 17:38:30Z], ~U[2026-02-16 17:38:30Z], "This unhinged urban adventure continues with part 2 of 3, and we’re about to enter the beating heart of the city. Things have already been trickier and slower than expected up until this point, but with fence riddled schools, apartment complexes, and construction sites standing between me and the Thames, there can be no dilly-dallying. Can I smash my way through it all? Or will a series of unexpected obstacles in Canary Wharf spell the end?\n\n***GOOD ENGLISH SUBTITLES AVAILABLE***\n___________________________________________________________________________\n\nLISTEN TO MY BRAND NEW ALBUM \"PLEASANT PUDDING\" HERE:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\nBandcamp: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventure episodes a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0", "Things get silly as I enter the heart of the city [London no roads #2]", 1999, false, "8xn549ahaS4", "https://www.youtube.com/watch?v=8xn549ahaS4", "/downloads/GeoWizard/Things get silly as I enter the heart of the city [London no roads #2]/Things get silly as I enter the heart of the city [London no roads #2] [8xn549ahaS4].mp4", false, 2, ~U[2025-08-31 17:30:02Z]] 17:38:30.101 [debug] QUERY OK source="sources" db=0.2ms idle=96.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:30.101 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:30.102 [debug] QUERY OK source="media_items" db=0.2ms idle=6.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [331] 17:38:30.102 [debug] Current batch of media processed. Will check again in 1000ms 17:38:31.103 [debug] Current batch of media processed. Will check again in 1000ms 17:38:32.104 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.33, "description" => "It's finally here; The London No Roads Mission, and it's not for the faint hearted. \n\nToday I finally get to show you my maddest mission to date. A daring raid on a city of 9 million people, 32 vertical miles and countless tall spiky fences. It's Birmingham times 10, and I honestly didn't know if it would be possible going in. A few miles in I was even less sure. But I kept going, and the results are both thrilling and hilarious. Fasten your seatbelts and get ready for the ultimate urban adventure. A tale of endurance, stealth, stress management, but above all conquering fears.\n\n***GOOD ENGLISH SUBTITLES AVAILABLE***\n___________________________________________________________________________\n\nORDER PLEASANT PUDDING VINYL + T SHIRTS ON MY WEBSITE:\nhttps://www.officialgeowizardstore.com/\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventures a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0", "duration" => 2580, "filename" => "/downloads/GeoWizard/I attempted to walk across Greater London without using a single road/I attempted to walk across Greater London without using a single road [4476uSeTsg8].mp4", "id" => "4476uSeTsg8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4476uSeTsg8", "playlist_index" => 10, "timestamp" => 1756054808, "title" => "I attempted to walk across Greater London without using a single road", "upload_date" => "20250824"} 17:38:32.106 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=235.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:32.108 [debug] QUERY OK source="sources" db=0.5ms queue=0.7ms idle=236.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:32.111 [debug] QUERY OK source="media_items" db=2.6ms queue=0.6ms idle=238.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-24 17:00:08Z], 2] 17:38:32.116 [debug] QUERY OK source="media_items" db=3.3ms idle=242.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's finally here; The London No Roads Mission, and it's not for the faint hearted. \n\nToday I finally get to show you my maddest mission to date. A daring raid on a city of 9 million people, 32 vertical miles and countless tall spiky fences. It's Birmingham times 10, and I honestly didn't know if it would be possible going in. A few miles in I was even less sure. But I kept going, and the results are both thrilling and hilarious. Fasten your seatbelts and get ready for the ultimate urban adventure. A tale of endurance, stealth, stress management, but above all conquering fears.\n\n***GOOD ENGLISH SUBTITLES AVAILABLE***\n___________________________________________________________________________\n\nORDER PLEASANT PUDDING VINYL + T SHIRTS ON MY WEBSITE:\nhttps://www.officialgeowizardstore.com/\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventures a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0", "I attempted to walk across Greater London without using a single road", "60f47547-cbe9-4ba1-ada2-713aef758598", 2580, false, "4476uSeTsg8", "https://www.youtube.com/watch?v=4476uSeTsg8", 10, "/downloads/GeoWizard/I attempted to walk across Greater London without using a single road/I attempted to walk across Greater London without using a single road [4476uSeTsg8].mp4", false, false, false, 2, [], 98, ~U[2025-08-24 17:00:08Z], ~U[2026-02-16 17:38:32Z], ~U[2026-02-16 17:38:32Z], "It's finally here; The London No Roads Mission, and it's not for the faint hearted. \n\nToday I finally get to show you my maddest mission to date. A daring raid on a city of 9 million people, 32 vertical miles and countless tall spiky fences. It's Birmingham times 10, and I honestly didn't know if it would be possible going in. A few miles in I was even less sure. But I kept going, and the results are both thrilling and hilarious. Fasten your seatbelts and get ready for the ultimate urban adventure. A tale of endurance, stealth, stress management, but above all conquering fears.\n\n***GOOD ENGLISH SUBTITLES AVAILABLE***\n___________________________________________________________________________\n\nORDER PLEASANT PUDDING VINYL + T SHIRTS ON MY WEBSITE:\nhttps://www.officialgeowizardstore.com/\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventures a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0", "I attempted to walk across Greater London without using a single road", 2580, false, "4476uSeTsg8", "https://www.youtube.com/watch?v=4476uSeTsg8", "/downloads/GeoWizard/I attempted to walk across Greater London without using a single road/I attempted to walk across Greater London without using a single road [4476uSeTsg8].mp4", false, 2, ~U[2025-08-24 17:00:08Z]] 17:38:32.117 [debug] QUERY OK source="sources" db=0.7ms idle=108.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:32.119 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=11.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:32.121 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [332] 17:38:32.121 [debug] Current batch of media processed. Will check again in 1000ms 17:38:33.122 [debug] Current batch of media processed. Will check again in 1000ms 17:38:34.123 [debug] Current batch of media processed. Will check again in 1000ms 17:38:34.420 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:35.125 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "#ad\n\nHappy Friday everyone. Today it's a Geo detective with a twist...\n\nDestination X is the BBC's brand-new reality game show which sees contestants travel on a bus with blacked-out windows, completely unaware of their location. At each stop they face challenges designed to test their instincts and observation skills - only by spotting the right clues can they work out where in the world they are. It's a bit like real life Geoguessr but on a much grander scale.\n\nThe BBC decided it would be rude not to challenge me to see how quickly I could figure out where the contestants are being whisked away to on Episode 1. In this video you'll get my thought process as I pause the episode and put my geo detective skills to the test. As you know though I'm prone to getting carried away...\n\nWatch Destination X on BBC iPlayer and play along!\n\nhttps://www.bbc.co.uk/iplayer/episode/m002f1l5?at_mid=9lgDAfrioe&at_campaign=DestinationX_GeoWizard_YouTube&at_medium=video&at_campaign_type=paid&at_nation=NET&at_ptr_name=youtube&at_format=description&at_product=iplayer&at_brand=m0024pz8&at_audience_id=WF&at_objective=awareness&at_bbc_team=BBC", "duration" => 1580, "filename" => "/downloads/GeoWizard/How quickly can I figure out where the contestants are in BBC's Destination X?/How quickly can I figure out where the contestants are in BBC's Destination X? [tXd2mjgwUMs].mp4", "id" => "tXd2mjgwUMs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tXd2mjgwUMs", "playlist_index" => 11, "timestamp" => 1754678179, "title" => "How quickly can I figure out where the contestants are in BBC's Destination X?", "upload_date" => "20250808"} 17:38:35.126 [debug] QUERY OK source="sources" db=0.5ms idle=1255.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:35.127 [debug] QUERY OK source="sources" db=0.7ms idle=1256.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:35.131 [debug] QUERY OK source="media_items" db=3.2ms queue=0.2ms idle=1115.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-08 18:36:19Z], 2] 17:38:35.135 [debug] QUERY OK source="media_items" db=3.1ms idle=711.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#ad\n\nHappy Friday everyone. Today it's a Geo detective with a twist...\n\nDestination X is the BBC's brand-new reality game show which sees contestants travel on a bus with blacked-out windows, completely unaware of their location. At each stop they face challenges designed to test their instincts and observation skills - only by spotting the right clues can they work out where in the world they are. It's a bit like real life Geoguessr but on a much grander scale.\n\nThe BBC decided it would be rude not to challenge me to see how quickly I could figure out where the contestants are being whisked away to on Episode 1. In this video you'll get my thought process as I pause the episode and put my geo detective skills to the test. As you know though I'm prone to getting carried away...\n\nWatch Destination X on BBC iPlayer and play along!\n\nhttps://www.bbc.co.uk/iplayer/episode/m002f1l5?at_mid=9lgDAfrioe&at_campaign=DestinationX_GeoWizard_YouTube&at_medium=video&at_campaign_type=paid&at_nation=NET&at_ptr_name=youtube&at_format=description&at_product=iplayer&at_brand=m0024pz8&at_audience_id=WF&at_objective=awareness&at_bbc_team=BBC", "How quickly can I figure out where the contestants are in BBC's Destination X?", "b8788c4e-398f-461a-b0ac-a698fc2a16cb", 1580, false, "tXd2mjgwUMs", "https://www.youtube.com/watch?v=tXd2mjgwUMs", 11, "/downloads/GeoWizard/How quickly can I figure out where the contestants are in BBC's Destination X?/How quickly can I figure out where the contestants are in BBC's Destination X? [tXd2mjgwUMs].mp4", false, false, false, 2, [], 98, ~U[2025-08-08 18:36:19Z], ~U[2026-02-16 17:38:35Z], ~U[2026-02-16 17:38:35Z], "#ad\n\nHappy Friday everyone. Today it's a Geo detective with a twist...\n\nDestination X is the BBC's brand-new reality game show which sees contestants travel on a bus with blacked-out windows, completely unaware of their location. At each stop they face challenges designed to test their instincts and observation skills - only by spotting the right clues can they work out where in the world they are. It's a bit like real life Geoguessr but on a much grander scale.\n\nThe BBC decided it would be rude not to challenge me to see how quickly I could figure out where the contestants are being whisked away to on Episode 1. In this video you'll get my thought process as I pause the episode and put my geo detective skills to the test. As you know though I'm prone to getting carried away...\n\nWatch Destination X on BBC iPlayer and play along!\n\nhttps://www.bbc.co.uk/iplayer/episode/m002f1l5?at_mid=9lgDAfrioe&at_campaign=DestinationX_GeoWizard_YouTube&at_medium=video&at_campaign_type=paid&at_nation=NET&at_ptr_name=youtube&at_format=description&at_product=iplayer&at_brand=m0024pz8&at_audience_id=WF&at_objective=awareness&at_bbc_team=BBC", "How quickly can I figure out where the contestants are in BBC's Destination X?", 1580, false, "tXd2mjgwUMs", "https://www.youtube.com/watch?v=tXd2mjgwUMs", "/downloads/GeoWizard/How quickly can I figure out where the contestants are in BBC's Destination X?/How quickly can I figure out where the contestants are in BBC's Destination X? [tXd2mjgwUMs].mp4", false, 2, ~U[2025-08-08 18:36:19Z]] 17:38:35.137 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=121.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:35.138 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=11.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:35.140 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [333] 17:38:35.140 [debug] Current batch of media processed. Will check again in 1000ms 17:38:36.141 [debug] Current batch of media processed. Will check again in 1000ms 17:38:37.142 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It's time for a good old Geoguessr play along and we're picking up from where we left off with some classic album cover locations. Can I beat my previous score of 24,304 or 2.5 correct album covers? and can you beat me?\n\nPLAY ALONG: Play your round, put your marker down, then switch tabs back to Youtube to watch my attempt and the result. This way you don't ruin the game or the video!\n\nGAME 1: https://www.geoguessr.com/challenge/OOTPxmEzda6Uk3tT\nGAME 2: https://www.geoguessr.com/challenge/UAjRwGXHQ3eo85pf\n\n---------------------------------------------------------------------------------------------------------------------------------------------------------\n\nListen to Pleasant Pudding on all streaming platforms now:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\n\nOr make a purchase:\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\nVINYL PRE-ORDER: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding", "duration" => 1493, "filename" => "/downloads/GeoWizard/Could you guess the real locations of these famous album covers? [PLAY ALONG]/Could you guess the real locations of these famous album covers? [PLAY ALONG] [7SiEaZ_AD9c].mp4", "id" => "7SiEaZ_AD9c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7SiEaZ_AD9c", "playlist_index" => 12, "timestamp" => 1753380007, "title" => "Could you guess the real locations of these famous album covers? [PLAY ALONG]", "upload_date" => "20250724"} 17:38:37.144 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=273.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:37.145 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=274.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:37.148 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=275.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-24 18:00:07Z], 2] 17:38:37.149 [debug] QUERY OK source="media_items" db=1.0ms idle=278.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's time for a good old Geoguessr play along and we're picking up from where we left off with some classic album cover locations. Can I beat my previous score of 24,304 or 2.5 correct album covers? and can you beat me?\n\nPLAY ALONG: Play your round, put your marker down, then switch tabs back to Youtube to watch my attempt and the result. This way you don't ruin the game or the video!\n\nGAME 1: https://www.geoguessr.com/challenge/OOTPxmEzda6Uk3tT\nGAME 2: https://www.geoguessr.com/challenge/UAjRwGXHQ3eo85pf\n\n---------------------------------------------------------------------------------------------------------------------------------------------------------\n\nListen to Pleasant Pudding on all streaming platforms now:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\n\nOr make a purchase:\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\nVINYL PRE-ORDER: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding", "Could you guess the real locations of these famous album covers? [PLAY ALONG]", "bf4058cd-152a-45e1-a435-f3b6d44c66a7", 1493, false, "7SiEaZ_AD9c", "https://www.youtube.com/watch?v=7SiEaZ_AD9c", 12, "/downloads/GeoWizard/Could you guess the real locations of these famous album covers? [PLAY ALONG]/Could you guess the real locations of these famous album covers? [PLAY ALONG] [7SiEaZ_AD9c].mp4", false, false, false, 2, [], 98, ~U[2025-07-24 18:00:07Z], ~U[2026-02-16 17:38:37Z], ~U[2026-02-16 17:38:37Z], "It's time for a good old Geoguessr play along and we're picking up from where we left off with some classic album cover locations. Can I beat my previous score of 24,304 or 2.5 correct album covers? and can you beat me?\n\nPLAY ALONG: Play your round, put your marker down, then switch tabs back to Youtube to watch my attempt and the result. This way you don't ruin the game or the video!\n\nGAME 1: https://www.geoguessr.com/challenge/OOTPxmEzda6Uk3tT\nGAME 2: https://www.geoguessr.com/challenge/UAjRwGXHQ3eo85pf\n\n---------------------------------------------------------------------------------------------------------------------------------------------------------\n\nListen to Pleasant Pudding on all streaming platforms now:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\n\nOr make a purchase:\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\nVINYL PRE-ORDER: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding", "Could you guess the real locations of these famous album covers? [PLAY ALONG]", 1493, false, "7SiEaZ_AD9c", "https://www.youtube.com/watch?v=7SiEaZ_AD9c", "/downloads/GeoWizard/Could you guess the real locations of these famous album covers? [PLAY ALONG]/Could you guess the real locations of these famous album covers? [PLAY ALONG] [7SiEaZ_AD9c].mp4", false, 2, ~U[2025-07-24 18:00:07Z]] 17:38:37.150 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:37.150 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:37.151 [debug] QUERY OK source="media_items" db=0.3ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [334] 17:38:37.151 [debug] Current batch of media processed. Will check again in 1000ms 17:38:38.152 [debug] Current batch of media processed. Will check again in 1000ms 17:38:39.154 [debug] Current batch of media processed. Will check again in 1000ms 17:38:40.155 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.33, "description" => "***GOOD SUBTITLES AVAILABLE***\n\nIt's time to find out if Marcus, a geeky chess teacher from Surrey can finally end his disastrous string of straight line mission attempts with an emphatic victory. Standing in his way on this final day will be lake crossings, vertigo inducing crags and an unexpected deer farm. Is this where he finally comes undone? or can his weary legged frame battle through it all? \n___________________________________________________________________________\n\nORDER PLEASANT PUDDING VINYL + T SHIRTS ON MY WEBSITE:\nhttps://www.officialgeowizardstore.com/\n\n___________________________________________________________________________\n\nCheck out Marcus's channel: https://www.youtube.com/@marcusthechessteacher\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventures a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4.\n\nFull list of adventures available on the $4 tier: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0\n__________________________________________________________________________", "duration" => 2078, "filename" => "/downloads/GeoWizard/Can "laughing stock" Marcus brave more cliffs and deer farms to finally make it to the coast?/Can "laughing stock" Marcus brave more cliffs and deer farms to finally make it to the coast? [HQh-SHwUpDc].mp4", "id" => "HQh-SHwUpDc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HQh-SHwUpDc", "playlist_index" => 13, "timestamp" => 1751821319, "title" => "Can \"laughing stock\" Marcus brave more cliffs and deer farms to finally make it to the coast?", "upload_date" => "20250706"} 17:38:40.155 [debug] QUERY OK source="sources" db=0.2ms idle=1285.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:40.156 [debug] QUERY OK source="sources" db=0.1ms idle=1285.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:40.157 [debug] QUERY OK source="media_items" db=0.8ms idle=1286.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-06 17:01:59Z], 2] 17:38:40.158 [debug] QUERY OK source="media_items" db=0.9ms idle=1138.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["***GOOD SUBTITLES AVAILABLE***\n\nIt's time to find out if Marcus, a geeky chess teacher from Surrey can finally end his disastrous string of straight line mission attempts with an emphatic victory. Standing in his way on this final day will be lake crossings, vertigo inducing crags and an unexpected deer farm. Is this where he finally comes undone? or can his weary legged frame battle through it all? \n___________________________________________________________________________\n\nORDER PLEASANT PUDDING VINYL + T SHIRTS ON MY WEBSITE:\nhttps://www.officialgeowizardstore.com/\n\n___________________________________________________________________________\n\nCheck out Marcus's channel: https://www.youtube.com/@marcusthechessteacher\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventures a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4.\n\nFull list of adventures available on the $4 tier: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0\n__________________________________________________________________________", "Can \"laughing stock\" Marcus brave more cliffs and deer farms to finally make it to the coast?", "850fd364-9785-4b73-8efd-d8666be45c1d", 2078, false, "HQh-SHwUpDc", "https://www.youtube.com/watch?v=HQh-SHwUpDc", 13, "/downloads/GeoWizard/Can "laughing stock" Marcus brave more cliffs and deer farms to finally make it to the coast?/Can "laughing stock" Marcus brave more cliffs and deer farms to finally make it to the coast? [HQh-SHwUpDc].mp4", false, false, false, 2, [], 98, ~U[2025-07-06 17:01:59Z], ~U[2026-02-16 17:38:40Z], ~U[2026-02-16 17:38:40Z], "***GOOD SUBTITLES AVAILABLE***\n\nIt's time to find out if Marcus, a geeky chess teacher from Surrey can finally end his disastrous string of straight line mission attempts with an emphatic victory. Standing in his way on this final day will be lake crossings, vertigo inducing crags and an unexpected deer farm. Is this where he finally comes undone? or can his weary legged frame battle through it all? \n___________________________________________________________________________\n\nORDER PLEASANT PUDDING VINYL + T SHIRTS ON MY WEBSITE:\nhttps://www.officialgeowizardstore.com/\n\n___________________________________________________________________________\n\nCheck out Marcus's channel: https://www.youtube.com/@marcusthechessteacher\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventures a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4.\n\nFull list of adventures available on the $4 tier: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0\n__________________________________________________________________________", "Can \"laughing stock\" Marcus brave more cliffs and deer farms to finally make it to the coast?", 2078, false, "HQh-SHwUpDc", "https://www.youtube.com/watch?v=HQh-SHwUpDc", "/downloads/GeoWizard/Can "laughing stock" Marcus brave more cliffs and deer farms to finally make it to the coast?/Can "laughing stock" Marcus brave more cliffs and deer farms to finally make it to the coast? [HQh-SHwUpDc].mp4", false, 2, ~U[2025-07-06 17:01:59Z]] 17:38:40.158 [debug] QUERY OK source="sources" db=0.1ms idle=138.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:40.159 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:40.159 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [335] 17:38:40.159 [debug] Current batch of media processed. Will check again in 1000ms 17:38:41.160 [debug] Current batch of media processed. Will check again in 1000ms 17:38:42.161 [debug] Current batch of media processed. Will check again in 1000ms 17:38:43.162 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.33, "description" => "***GOOD SUBTITLES AVAILABLE***\n\nWelcome back everyone to an adventure that sticks two fingers up to skepticism, and laughs in the face of common sense. Can a geeky, bumbling chess teacher who hates getting his feet wet overturn years of failure and apparent delusion by achieving one of the toughest feats there is? I'm hoping that with my help he can, even if I'm prone to the odd disaster myself. We've already narrowly avoided one of those disasters on day 1 and are over a third of the way into our straight line mission across the Scotland. On day 2 however, deep rivers and extremely steep terrain will push Marcus to his very limit.\n\nHead to https://watertogo.eu/ and apply code GEOWIZARD20 for 20% their amazing filter bottles!\n___________________________________________________________________________\n\nCheck out Marcus's channel: https://www.youtube.com/@marcusthechessteacher\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch the remaining episodes a day early + bonus content https://www.patreon.com/geowizard\n\nOR get so much more for $4.\n\nFull list of adventures available on the $4 tier: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0\n__________________________________________________________________________\n\nFollow me on Instagram:\nTom's Instagram: https://www.instagram.com/geowizardofficial\n__________________________________________________________________________\n\nListen to \"16-Bit Adventure\"\nSpotify: https://open.spotify.com/album/3m1MNiRkBOY2Lz5EAXG1BB\nOr purchase it on Bandcamp for £4 here:\nhttps://amynedd.bandcamp.com/album/16-bit-adventure\n__________________________________________________________________________", "duration" => 2168, "filename" => "/downloads/GeoWizard/Can Marcus overcome his fear of heights and keep the mission alive? [SCOTLAND 2, PART 2]/Can Marcus overcome his fear of heights and keep the mission alive? [SCOTLAND 2, PART 2] [O6PfTXtmfmU].mp4", "id" => "O6PfTXtmfmU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=O6PfTXtmfmU", "playlist_index" => 14, "timestamp" => 1751223602, "title" => "Can Marcus overcome his fear of heights and keep the mission alive? [SCOTLAND 2, PART 2]", "upload_date" => "20250629"} 17:38:43.164 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1293.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:43.165 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1294.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:43.168 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=1295.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-29 19:00:02Z], 2] 17:38:43.182 [debug] QUERY OK source="media_items" db=12.2ms idle=1146.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["***GOOD SUBTITLES AVAILABLE***\n\nWelcome back everyone to an adventure that sticks two fingers up to skepticism, and laughs in the face of common sense. Can a geeky, bumbling chess teacher who hates getting his feet wet overturn years of failure and apparent delusion by achieving one of the toughest feats there is? I'm hoping that with my help he can, even if I'm prone to the odd disaster myself. We've already narrowly avoided one of those disasters on day 1 and are over a third of the way into our straight line mission across the Scotland. On day 2 however, deep rivers and extremely steep terrain will push Marcus to his very limit.\n\nHead to https://watertogo.eu/ and apply code GEOWIZARD20 for 20% their amazing filter bottles!\n___________________________________________________________________________\n\nCheck out Marcus's channel: https://www.youtube.com/@marcusthechessteacher\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch the remaining episodes a day early + bonus content https://www.patreon.com/geowizard\n\nOR get so much more for $4.\n\nFull list of adventures available on the $4 tier: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0\n__________________________________________________________________________\n\nFollow me on Instagram:\nTom's Instagram: https://www.instagram.com/geowizardofficial\n__________________________________________________________________________\n\nListen to \"16-Bit Adventure\"\nSpotify: https://open.spotify.com/album/3m1MNiRkBOY2Lz5EAXG1BB\nOr purchase it on Bandcamp for £4 here:\nhttps://amynedd.bandcamp.com/album/16-bit-adventure\n__________________________________________________________________________", "Can Marcus overcome his fear of heights and keep the mission alive? [SCOTLAND 2, PART 2]", "7861a2b1-e8d9-49ef-bef6-5259e36d42cc", 2168, false, "O6PfTXtmfmU", "https://www.youtube.com/watch?v=O6PfTXtmfmU", 14, "/downloads/GeoWizard/Can Marcus overcome his fear of heights and keep the mission alive? [SCOTLAND 2, PART 2]/Can Marcus overcome his fear of heights and keep the mission alive? [SCOTLAND 2, PART 2] [O6PfTXtmfmU].mp4", false, false, false, 2, [], 98, ~U[2025-06-29 19:00:02Z], ~U[2026-02-16 17:38:43Z], ~U[2026-02-16 17:38:43Z], "***GOOD SUBTITLES AVAILABLE***\n\nWelcome back everyone to an adventure that sticks two fingers up to skepticism, and laughs in the face of common sense. Can a geeky, bumbling chess teacher who hates getting his feet wet overturn years of failure and apparent delusion by achieving one of the toughest feats there is? I'm hoping that with my help he can, even if I'm prone to the odd disaster myself. We've already narrowly avoided one of those disasters on day 1 and are over a third of the way into our straight line mission across the Scotland. On day 2 however, deep rivers and extremely steep terrain will push Marcus to his very limit.\n\nHead to https://watertogo.eu/ and apply code GEOWIZARD20 for 20% their amazing filter bottles!\n___________________________________________________________________________\n\nCheck out Marcus's channel: https://www.youtube.com/@marcusthechessteacher\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch the remaining episodes a day early + bonus content https://www.patreon.com/geowizard\n\nOR get so much more for $4.\n\nFull list of adventures available on the $4 tier: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0\n__________________________________________________________________________\n\nFollow me on Instagram:\nTom's Instagram: https://www.instagram.com/geowizardofficial\n__________________________________________________________________________\n\nListen to \"16-Bit Adventure\"\nSpotify: https://open.spotify.com/album/3m1MNiRkBOY2Lz5EAXG1BB\nOr purchase it on Bandcamp for £4 here:\nhttps://amynedd.bandcamp.com/album/16-bit-adventure\n__________________________________________________________________________", "Can Marcus overcome his fear of heights and keep the mission alive? [SCOTLAND 2, PART 2]", 2168, false, "O6PfTXtmfmU", "https://www.youtube.com/watch?v=O6PfTXtmfmU", "/downloads/GeoWizard/Can Marcus overcome his fear of heights and keep the mission alive? [SCOTLAND 2, PART 2]/Can Marcus overcome his fear of heights and keep the mission alive? [SCOTLAND 2, PART 2] [O6PfTXtmfmU].mp4", false, 2, ~U[2025-06-29 19:00:02Z]] 17:38:43.184 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=159.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:43.185 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=20.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:43.187 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=20.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [336] 17:38:43.187 [debug] Current batch of media processed. Will check again in 1000ms 17:38:44.188 [debug] Current batch of media processed. Will check again in 1000ms 17:38:45.189 [debug] Current batch of media processed. Will check again in 1000ms 17:38:46.190 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.33, "description" => "Head to https://watertogo.eu/ and apply code GEOWIZARD20 for 20% their amazing filter bottles!\n________________________________________________________________________________________\n\n*Good Subtitles Available*\n\nYep, I've finally lost the plot. This year I scrapped my solo mission plans and made the bold decision to team up with Marcus the chess teacher to see if I could help him put a winning end to the never ending tragedy that is his straight line mission saga. \nWas I mad to think that all he needed was a shot of confidence and guidance from someone like me to get the job done? Or was I just as deluded as he is? What if I buggered it up for both of us? the risks were huge, but the potential spoils of this victory were too tempting to turn down. \n________________________________________________________________________________________\n\nCheck out Marcus's channel: https://www.youtube.com/@marcusthechessteacher\n________________________________________________________________________________________\n\nSupport me on Patreon for $1 and watch the remaining episodes a day early + bonus content https://www.patreon.com/geowizard\n\nOR get so much more for $4.\n\nFull list of adventures available on the $4 tier: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0\n________________________________________________________________________________________\n\nFollow me on Instagram:\nTom's Instagram: https://www.instagram.com/geowizardofficial\n________________________________________________________________________________________\n\nListen to \"16-Bit Adventure\"\nSpotify: https://open.spotify.com/album/3m1MNiRkBOY2Lz5EAXG1BB\nOr purchase it on Bandcamp for £4 here:\nhttps://amynedd.bandcamp.com/album/16-bit-adventure\n________________________________________________________________________________________\n\nBlue Monday (2023 Digital Master) by New Order, https://lickd.lnk.to/qXe2RfID!GeoWizard License ID: Vq82mxJjDkb", "duration" => 2881, "filename" => "/downloads/GeoWizard/Can I cross Scotland with the "laughing stock" of straight line missions?/Can I cross Scotland with the "laughing stock" of straight line missions? [BSbu2FufX3k].mp4", "id" => "BSbu2FufX3k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BSbu2FufX3k", "playlist_index" => 15, "timestamp" => 1750618801, "title" => "Can I cross Scotland with the \"laughing stock\" of straight line missions?", "upload_date" => "20250622"} 17:38:46.191 [debug] QUERY OK source="sources" db=0.5ms idle=1319.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:46.192 [debug] QUERY OK source="sources" db=0.2ms queue=0.3ms idle=1320.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:46.193 [debug] QUERY OK source="media_items" db=1.2ms idle=1321.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-22 19:00:01Z], 2] 17:38:46.195 [debug] QUERY OK source="media_items" db=1.5ms idle=1165.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://watertogo.eu/ and apply code GEOWIZARD20 for 20% their amazing filter bottles!\n________________________________________________________________________________________\n\n*Good Subtitles Available*\n\nYep, I've finally lost the plot. This year I scrapped my solo mission plans and made the bold decision to team up with Marcus the chess teacher to see if I could help him put a winning end to the never ending tragedy that is his straight line mission saga. \nWas I mad to think that all he needed was a shot of confidence and guidance from someone like me to get the job done? Or was I just as deluded as he is? What if I buggered it up for both of us? the risks were huge, but the potential spoils of this victory were too tempting to turn down. \n________________________________________________________________________________________\n\nCheck out Marcus's channel: https://www.youtube.com/@marcusthechessteacher\n________________________________________________________________________________________\n\nSupport me on Patreon for $1 and watch the remaining episodes a day early + bonus content https://www.patreon.com/geowizard\n\nOR get so much more for $4.\n\nFull list of adventures available on the $4 tier: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0\n________________________________________________________________________________________\n\nFollow me on Instagram:\nTom's Instagram: https://www.instagram.com/geowizardofficial\n________________________________________________________________________________________\n\nListen to \"16-Bit Adventure\"\nSpotify: https://open.spotify.com/album/3m1MNiRkBOY2Lz5EAXG1BB\nOr purchase it on Bandcamp for £4 here:\nhttps://amynedd.bandcamp.com/album/16-bit-adventure\n________________________________________________________________________________________\n\nBlue Monday (2023 Digital Master) by New Order, https://lickd.lnk.to/qXe2RfID!GeoWizard License ID: Vq82mxJjDkb", "Can I cross Scotland with the \"laughing stock\" of straight line missions?", "c114339c-3536-41f5-971e-a09049da7750", 2881, false, "BSbu2FufX3k", "https://www.youtube.com/watch?v=BSbu2FufX3k", 15, "/downloads/GeoWizard/Can I cross Scotland with the "laughing stock" of straight line missions?/Can I cross Scotland with the "laughing stock" of straight line missions? [BSbu2FufX3k].mp4", false, false, false, 2, [], 98, ~U[2025-06-22 19:00:01Z], ~U[2026-02-16 17:38:46Z], ~U[2026-02-16 17:38:46Z], "Head to https://watertogo.eu/ and apply code GEOWIZARD20 for 20% their amazing filter bottles!\n________________________________________________________________________________________\n\n*Good Subtitles Available*\n\nYep, I've finally lost the plot. This year I scrapped my solo mission plans and made the bold decision to team up with Marcus the chess teacher to see if I could help him put a winning end to the never ending tragedy that is his straight line mission saga. \nWas I mad to think that all he needed was a shot of confidence and guidance from someone like me to get the job done? Or was I just as deluded as he is? What if I buggered it up for both of us? the risks were huge, but the potential spoils of this victory were too tempting to turn down. \n________________________________________________________________________________________\n\nCheck out Marcus's channel: https://www.youtube.com/@marcusthechessteacher\n________________________________________________________________________________________\n\nSupport me on Patreon for $1 and watch the remaining episodes a day early + bonus content https://www.patreon.com/geowizard\n\nOR get so much more for $4.\n\nFull list of adventures available on the $4 tier: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0\n________________________________________________________________________________________\n\nFollow me on Instagram:\nTom's Instagram: https://www.instagram.com/geowizardofficial\n________________________________________________________________________________________\n\nListen to \"16-Bit Adventure\"\nSpotify: https://open.spotify.com/album/3m1MNiRkBOY2Lz5EAXG1BB\nOr purchase it on Bandcamp for £4 here:\nhttps://amynedd.bandcamp.com/album/16-bit-adventure\n________________________________________________________________________________________\n\nBlue Monday (2023 Digital Master) by New Order, https://lickd.lnk.to/qXe2RfID!GeoWizard License ID: Vq82mxJjDkb", "Can I cross Scotland with the \"laughing stock\" of straight line missions?", 2881, false, "BSbu2FufX3k", "https://www.youtube.com/watch?v=BSbu2FufX3k", "/downloads/GeoWizard/Can I cross Scotland with the "laughing stock" of straight line missions?/Can I cross Scotland with the "laughing stock" of straight line missions? [BSbu2FufX3k].mp4", false, 2, ~U[2025-06-22 19:00:01Z]] 17:38:46.196 [debug] QUERY OK source="sources" db=0.3ms idle=162.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:46.197 [debug] QUERY OK source="media_profiles" db=0.4ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:46.197 [debug] QUERY OK source="media_items" db=0.4ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [337] 17:38:46.197 [debug] Current batch of media processed. Will check again in 1000ms 17:38:47.198 [debug] Current batch of media processed. Will check again in 1000ms 17:38:48.199 [debug] Current batch of media processed. Will check again in 1000ms 17:38:49.200 [debug] Current batch of media processed. Will check again in 1000ms 17:38:50.201 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we have some fun and possibly get cancelled in the process.\nIntroducing Ethnoguessr, that game that challenges you to pinpoint the epicentre of the origins of a particular ethnic group on a map. I was simply too curious to not play, and became more and more fascinated as the game went on. I actually ended up with a pretty good score too. Was it worth it? we'll find out in the comment section...\n\nPlay Ethnoguessr: https://hbd.gg/", "duration" => 1491, "filename" => "/downloads/GeoWizard/Pinpointing where specific ethnic groups originate from (without getting cancelled) [ETHNOGUESSR]/Pinpointing where specific ethnic groups originate from (without getting cancelled) [ETHNOGUESSR] [r-0Pwg7ShW8].mp4", "id" => "r-0Pwg7ShW8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=r-0Pwg7ShW8", "playlist_index" => 16, "timestamp" => 1749238864, "title" => "Pinpointing where specific ethnic groups originate from (without getting cancelled) [ETHNOGUESSR]", "upload_date" => "20250606"} 17:38:50.204 [debug] QUERY OK source="sources" db=2.6ms queue=0.2ms idle=331.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:50.207 [debug] QUERY OK source="sources" db=1.8ms queue=0.2ms idle=335.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:50.211 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=337.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-06 19:41:04Z], 2] 17:38:50.215 [debug] QUERY OK source="media_items" db=2.6ms idle=341.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we have some fun and possibly get cancelled in the process.\nIntroducing Ethnoguessr, that game that challenges you to pinpoint the epicentre of the origins of a particular ethnic group on a map. I was simply too curious to not play, and became more and more fascinated as the game went on. I actually ended up with a pretty good score too. Was it worth it? we'll find out in the comment section...\n\nPlay Ethnoguessr: https://hbd.gg/", "Pinpointing where specific ethnic groups originate from (without getting cancelled) [ETHNOGUESSR]", "e1802040-7c76-4d1f-b018-41067fd8c80f", 1491, false, "r-0Pwg7ShW8", "https://www.youtube.com/watch?v=r-0Pwg7ShW8", 16, "/downloads/GeoWizard/Pinpointing where specific ethnic groups originate from (without getting cancelled) [ETHNOGUESSR]/Pinpointing where specific ethnic groups originate from (without getting cancelled) [ETHNOGUESSR] [r-0Pwg7ShW8].mp4", false, false, false, 2, [], 98, ~U[2025-06-06 19:41:04Z], ~U[2026-02-16 17:38:50Z], ~U[2026-02-16 17:38:50Z], "Today we have some fun and possibly get cancelled in the process.\nIntroducing Ethnoguessr, that game that challenges you to pinpoint the epicentre of the origins of a particular ethnic group on a map. I was simply too curious to not play, and became more and more fascinated as the game went on. I actually ended up with a pretty good score too. Was it worth it? we'll find out in the comment section...\n\nPlay Ethnoguessr: https://hbd.gg/", "Pinpointing where specific ethnic groups originate from (without getting cancelled) [ETHNOGUESSR]", 1491, false, "r-0Pwg7ShW8", "https://www.youtube.com/watch?v=r-0Pwg7ShW8", "/downloads/GeoWizard/Pinpointing where specific ethnic groups originate from (without getting cancelled) [ETHNOGUESSR]/Pinpointing where specific ethnic groups originate from (without getting cancelled) [ETHNOGUESSR] [r-0Pwg7ShW8].mp4", false, 2, ~U[2025-06-06 19:41:04Z]] 17:38:50.216 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=175.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:50.218 [debug] QUERY OK source="media_profiles" db=0.8ms idle=12.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:50.219 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=11.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 [338] 17:38:50.220 [debug] Current batch of media processed. Will check again in 1000ms 17:38:51.221 [debug] Current batch of media processed. Will check again in 1000ms 17:38:52.222 [debug] Current batch of media processed. Will check again in 1000ms 17:38:53.223 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It's Geoguessr time and today we're getting transported to some classic album cover locations. I was really excited about discovering this map, but will my \"eclectic\" music taste be as useful as I thought it would be?\n\nPLAY ALONG: Play your round, put your marker down, then switch tabs back to Youtube to watch my attempt and the result. This way you don't ruin the game or the video!\n\nPlay this map: https://www.geoguessr.com/challenge/t3phOOZ4B284oWbR\n\n---------------------------------------------------------------------------------------------------------------------------------------------------------\n\nListen to Pleasant Pudding on all streaming platforms now:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\n\nOr make a purchase:\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\nVINYL PRE-ORDER: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding", "duration" => 1383, "filename" => "/downloads/GeoWizard/Geoguessr but every round is a famous album cover [PLAY ALONG]/Geoguessr but every round is a famous album cover [PLAY ALONG] [nsaa3RjG2Tc].mp4", "id" => "nsaa3RjG2Tc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nsaa3RjG2Tc", "playlist_index" => 17, "timestamp" => 1748014234, "title" => "Geoguessr but every round is a famous album cover [PLAY ALONG]", "upload_date" => "20250523"} 17:38:53.224 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1354.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:53.225 [debug] QUERY OK source="sources" db=0.4ms idle=1355.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:53.229 [debug] QUERY OK source="media_items" db=3.0ms idle=1356.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-23 15:30:34Z], 2] 17:38:53.233 [debug] QUERY OK source="media_items" db=3.1ms idle=1187.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's Geoguessr time and today we're getting transported to some classic album cover locations. I was really excited about discovering this map, but will my \"eclectic\" music taste be as useful as I thought it would be?\n\nPLAY ALONG: Play your round, put your marker down, then switch tabs back to Youtube to watch my attempt and the result. This way you don't ruin the game or the video!\n\nPlay this map: https://www.geoguessr.com/challenge/t3phOOZ4B284oWbR\n\n---------------------------------------------------------------------------------------------------------------------------------------------------------\n\nListen to Pleasant Pudding on all streaming platforms now:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\n\nOr make a purchase:\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\nVINYL PRE-ORDER: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding", "Geoguessr but every round is a famous album cover [PLAY ALONG]", "e216031c-24b8-4f63-8b49-3eeb32422473", 1383, false, "nsaa3RjG2Tc", "https://www.youtube.com/watch?v=nsaa3RjG2Tc", 17, "/downloads/GeoWizard/Geoguessr but every round is a famous album cover [PLAY ALONG]/Geoguessr but every round is a famous album cover [PLAY ALONG] [nsaa3RjG2Tc].mp4", false, false, false, 2, [], 98, ~U[2025-05-23 15:30:34Z], ~U[2026-02-16 17:38:53Z], ~U[2026-02-16 17:38:53Z], "It's Geoguessr time and today we're getting transported to some classic album cover locations. I was really excited about discovering this map, but will my \"eclectic\" music taste be as useful as I thought it would be?\n\nPLAY ALONG: Play your round, put your marker down, then switch tabs back to Youtube to watch my attempt and the result. This way you don't ruin the game or the video!\n\nPlay this map: https://www.geoguessr.com/challenge/t3phOOZ4B284oWbR\n\n---------------------------------------------------------------------------------------------------------------------------------------------------------\n\nListen to Pleasant Pudding on all streaming platforms now:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\n\nOr make a purchase:\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\nVINYL PRE-ORDER: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding", "Geoguessr but every round is a famous album cover [PLAY ALONG]", 1383, false, "nsaa3RjG2Tc", "https://www.youtube.com/watch?v=nsaa3RjG2Tc", "/downloads/GeoWizard/Geoguessr but every round is a famous album cover [PLAY ALONG]/Geoguessr but every round is a famous album cover [PLAY ALONG] [nsaa3RjG2Tc].mp4", false, 2, ~U[2025-05-23 15:30:34Z]] 17:38:53.235 [debug] QUERY OK source="sources" db=0.7ms idle=187.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:53.236 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=10.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:53.237 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=10.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [339] 17:38:53.238 [debug] Current batch of media processed. Will check again in 1000ms 17:38:54.239 [debug] Current batch of media processed. Will check again in 1000ms 17:38:55.240 [debug] Current batch of media processed. Will check again in 1000ms 17:38:56.242 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.33, "description" => "You know those curvy orange lines on the map that indicate altitude and steepness? Well what if I tried to follow one? My map tells me I'm going to be passing over farmland, ravines as I straddle the feet of big Welsh mountains, but will the terrain and foliage allow me to stay at the same altitude (420m above sea level) the entire time without any injuries?\n\nNEW ALBUM:\n\n-Buy on Bandcamp: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n-Order Vinyl: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding?srsltid=AfmBOopBctr9P9pKTzTQRcfUBfehoy3VYo1lyVNdHvbb4BbV2F0P-1Tm\n\n(Streaming + YouTube links coming soon)", "duration" => 1283, "filename" => "/downloads/GeoWizard/Can I cross a mountain range without leaving 420m above sea level?/Can I cross a mountain range without leaving 420m above sea level? [rsxirOtXJTM].mp4", "id" => "rsxirOtXJTM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rsxirOtXJTM", "playlist_index" => 18, "timestamp" => 1747484829, "title" => "Can I cross a mountain range without leaving 420m above sea level?", "upload_date" => "20250517"} 17:38:56.242 [debug] QUERY OK source="sources" db=0.2ms idle=1372.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:56.243 [debug] QUERY OK source="sources" db=0.3ms idle=1372.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:56.245 [debug] QUERY OK source="media_items" db=2.1ms idle=1373.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-17 12:27:09Z], 2] 17:38:56.248 [debug] QUERY OK source="media_items" db=2.0ms idle=1197.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["You know those curvy orange lines on the map that indicate altitude and steepness? Well what if I tried to follow one? My map tells me I'm going to be passing over farmland, ravines as I straddle the feet of big Welsh mountains, but will the terrain and foliage allow me to stay at the same altitude (420m above sea level) the entire time without any injuries?\n\nNEW ALBUM:\n\n-Buy on Bandcamp: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n-Order Vinyl: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding?srsltid=AfmBOopBctr9P9pKTzTQRcfUBfehoy3VYo1lyVNdHvbb4BbV2F0P-1Tm\n\n(Streaming + YouTube links coming soon)", "Can I cross a mountain range without leaving 420m above sea level?", "ec31c738-7054-41cd-ad56-0815bcb0e5a7", 1283, false, "rsxirOtXJTM", "https://www.youtube.com/watch?v=rsxirOtXJTM", 18, "/downloads/GeoWizard/Can I cross a mountain range without leaving 420m above sea level?/Can I cross a mountain range without leaving 420m above sea level? [rsxirOtXJTM].mp4", false, false, false, 2, [], 98, ~U[2025-05-17 12:27:09Z], ~U[2026-02-16 17:38:56Z], ~U[2026-02-16 17:38:56Z], "You know those curvy orange lines on the map that indicate altitude and steepness? Well what if I tried to follow one? My map tells me I'm going to be passing over farmland, ravines as I straddle the feet of big Welsh mountains, but will the terrain and foliage allow me to stay at the same altitude (420m above sea level) the entire time without any injuries?\n\nNEW ALBUM:\n\n-Buy on Bandcamp: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n-Order Vinyl: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding?srsltid=AfmBOopBctr9P9pKTzTQRcfUBfehoy3VYo1lyVNdHvbb4BbV2F0P-1Tm\n\n(Streaming + YouTube links coming soon)", "Can I cross a mountain range without leaving 420m above sea level?", 1283, false, "rsxirOtXJTM", "https://www.youtube.com/watch?v=rsxirOtXJTM", "/downloads/GeoWizard/Can I cross a mountain range without leaving 420m above sea level?/Can I cross a mountain range without leaving 420m above sea level? [rsxirOtXJTM].mp4", false, 2, ~U[2025-05-17 12:27:09Z]] 17:38:56.249 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=197.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:56.251 [debug] QUERY OK source="media_profiles" db=1.2ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:56.255 [debug] QUERY OK source="media_items" db=2.3ms idle=10.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [340] 17:38:56.256 [debug] Current batch of media processed. Will check again in 1000ms 17:38:57.257 [debug] Current batch of media processed. Will check again in 1000ms 17:38:58.258 [debug] Current batch of media processed. Will check again in 1000ms 17:38:59.259 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "UPDATE: This album has now been released on ALL streaming platforms, including:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\n\nOr you can still support me here with a purchase:\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\nVINYL PRE-ORDER: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding\n\nI made an album, the roots of which go right back to 2008. It's dreamy, melodic bedroom pop and it's available to purchase right now on Bandcamp for £5. You can also get your orders in for the vinyl on the Cargo Records website ready for the June 27th release. On June 1st, I'll release it on every platform for free. \n\nIt won't be to everyone's taste I'm sure, but I'm proud of how these songs have turned out. Let me know your thoughts in the comment section below.\n\nCover art by the talented Coverartguyy: https://www.instagram.com/thecoverartguyy/", "duration" => 640, "filename" => "/downloads/GeoWizard/I took a break from straight line missions and recorded a proper indie⧸pop album/I took a break from straight line missions and recorded a proper indie⧸pop album [hBdGTMOXnKc].mp4", "id" => "hBdGTMOXnKc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hBdGTMOXnKc", "playlist_index" => 19, "timestamp" => 1746187850, "title" => "I took a break from straight line missions and recorded a proper indie/pop album", "upload_date" => "20250502"} 17:38:59.260 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1387.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:38:59.262 [debug] QUERY OK source="sources" db=0.4ms idle=1388.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:59.265 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=1389.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-02 12:10:50Z], 2] 17:38:59.270 [debug] QUERY OK source="media_items" db=3.4ms idle=1203.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["UPDATE: This album has now been released on ALL streaming platforms, including:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\n\nOr you can still support me here with a purchase:\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\nVINYL PRE-ORDER: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding\n\nI made an album, the roots of which go right back to 2008. It's dreamy, melodic bedroom pop and it's available to purchase right now on Bandcamp for £5. You can also get your orders in for the vinyl on the Cargo Records website ready for the June 27th release. On June 1st, I'll release it on every platform for free. \n\nIt won't be to everyone's taste I'm sure, but I'm proud of how these songs have turned out. Let me know your thoughts in the comment section below.\n\nCover art by the talented Coverartguyy: https://www.instagram.com/thecoverartguyy/", "I took a break from straight line missions and recorded a proper indie/pop album", "dad58a3d-2792-4899-b350-d83623c16669", 640, false, "hBdGTMOXnKc", "https://www.youtube.com/watch?v=hBdGTMOXnKc", 19, "/downloads/GeoWizard/I took a break from straight line missions and recorded a proper indie⧸pop album/I took a break from straight line missions and recorded a proper indie⧸pop album [hBdGTMOXnKc].mp4", false, false, false, 2, [], 98, ~U[2025-05-02 12:10:50Z], ~U[2026-02-16 17:38:59Z], ~U[2026-02-16 17:38:59Z], "UPDATE: This album has now been released on ALL streaming platforms, including:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\n\nOr you can still support me here with a purchase:\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\nVINYL PRE-ORDER: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding\n\nI made an album, the roots of which go right back to 2008. It's dreamy, melodic bedroom pop and it's available to purchase right now on Bandcamp for £5. You can also get your orders in for the vinyl on the Cargo Records website ready for the June 27th release. On June 1st, I'll release it on every platform for free. \n\nIt won't be to everyone's taste I'm sure, but I'm proud of how these songs have turned out. Let me know your thoughts in the comment section below.\n\nCover art by the talented Coverartguyy: https://www.instagram.com/thecoverartguyy/", "I took a break from straight line missions and recorded a proper indie/pop album", 640, false, "hBdGTMOXnKc", "https://www.youtube.com/watch?v=hBdGTMOXnKc", "/downloads/GeoWizard/I took a break from straight line missions and recorded a proper indie⧸pop album/I took a break from straight line missions and recorded a proper indie⧸pop album [hBdGTMOXnKc].mp4", false, 2, ~U[2025-05-02 12:10:50Z]] 17:38:59.271 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=206.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:38:59.273 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:38:59.274 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=11.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [341] 17:38:59.275 [debug] Current batch of media processed. Will check again in 1000ms 17:39:00.276 [debug] Current batch of media processed. Will check again in 1000ms 17:39:00.611 [info] {"source":"oban","duration":223,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:39:01.277 [debug] Current batch of media processed. Will check again in 1000ms 17:39:02.020 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@GeoWizard --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/GeoWizard/%(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/5f/72/5f72feadcc89ebffebff50cc88853faea171df18e91820a59f5e61e222c50f02.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/5b/04/5b04eecdcb4ccc7248667dfd135dcceaacd9988042cebb291eeebbaf5478c648.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 17:39:02.021 [debug] Gracefully stopping file follower 17:39:02.023 [debug] QUERY OK source="sources" db=1.6ms idle=1149.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:39:02.024 [debug] QUERY OK source="sources" db=0.8ms idle=1151.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.026 [debug] QUERY OK source="media_items" db=2.2ms idle=1152.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-02 17:58:56Z], 2] 17:39:02.028 [debug] QUERY OK source="media_items" db=1.0ms idle=960.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["This week I bring you Geo Detective with a twist. Two twists in fact. We've all taken a photo from a plane window, but how quickly can I geo locate them? and am I better than AI at doing so? Join me as I pull a few random snaps from the internet with increasing levels of difficulty, put my geography skills to the test and attempt to answer that question. The results might surprise you...\n\nSide note: There is a another, pretty sweaty Geo Detective in progress which will hopefully be with you soon.\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nENJOY COUNTLESS EXLUSIVE ADVENTURES AND EARLY ACCESS ON PATREON:\nhttps://www.patreon.com/c/geowizard", "Am I better than AI at pinpointing the exact location of random aeroplane window photos?", "92ccea05-483d-4901-9396-b4731f00c1a5", 1754, false, "xZQJhXAAZZ8", "https://www.youtube.com/watch?v=xZQJhXAAZZ8", 1, "/downloads/GeoWizard/Am I better than AI at pinpointing the exact location of random aeroplane window photos?/Am I better than AI at pinpointing the exact location of random aeroplane window photos? [xZQJhXAAZZ8].mp4", false, false, false, 2, [], 98, ~U[2026-02-02 17:58:56Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "This week I bring you Geo Detective with a twist. Two twists in fact. We've all taken a photo from a plane window, but how quickly can I geo locate them? and am I better than AI at doing so? Join me as I pull a few random snaps from the internet with increasing levels of difficulty, put my geography skills to the test and attempt to answer that question. The results might surprise you...\n\nSide note: There is a another, pretty sweaty Geo Detective in progress which will hopefully be with you soon.\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nENJOY COUNTLESS EXLUSIVE ADVENTURES AND EARLY ACCESS ON PATREON:\nhttps://www.patreon.com/c/geowizard", "Am I better than AI at pinpointing the exact location of random aeroplane window photos?", 1754, false, "xZQJhXAAZZ8", "https://www.youtube.com/watch?v=xZQJhXAAZZ8", "/downloads/GeoWizard/Am I better than AI at pinpointing the exact location of random aeroplane window photos?/Am I better than AI at pinpointing the exact location of random aeroplane window photos? [xZQJhXAAZZ8].mp4", false, 2, ~U[2026-02-02 17:58:56Z]] 17:39:02.028 [debug] QUERY OK source="sources" db=0.2ms idle=156.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.030 [debug] QUERY OK source="media_items" db=1.8ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-11 19:01:46Z], 2] 17:39:02.032 [debug] QUERY OK source="media_items" db=1.1ms idle=7.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Ever gazed at your computer background and thought.. where's that? Imagine if I just travelled there right now. How long would it take me? Would there be any adversity? Today I answer those burning questions. Join me as I blend Geo Detective with adventure, and have myself a unique adventure in a completely random corner of the globe.\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nWATCH THESE EPISODES EARLY + DOZENS MORE ADVENTURES ON PATREON:\nhttps://www.patreon.com/c/geowizard", "The next windows background that appears, I travel to.", "c73a88d0-a40e-49c4-810a-f03d3b1cfbc8", 2344, false, "Xl1cui5IS6s", "https://www.youtube.com/watch?v=Xl1cui5IS6s", 2, "/downloads/GeoWizard/The next windows background that appears, I travel to#/The next windows background that appears, I travel to. [Xl1cui5IS6s].mp4", false, false, false, 2, [], 98, ~U[2026-01-11 19:01:46Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "Ever gazed at your computer background and thought.. where's that? Imagine if I just travelled there right now. How long would it take me? Would there be any adversity? Today I answer those burning questions. Join me as I blend Geo Detective with adventure, and have myself a unique adventure in a completely random corner of the globe.\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nWATCH THESE EPISODES EARLY + DOZENS MORE ADVENTURES ON PATREON:\nhttps://www.patreon.com/c/geowizard", "The next windows background that appears, I travel to.", 2344, false, "Xl1cui5IS6s", "https://www.youtube.com/watch?v=Xl1cui5IS6s", "/downloads/GeoWizard/The next windows background that appears, I travel to#/The next windows background that appears, I travel to. [Xl1cui5IS6s].mp4", false, 2, ~U[2026-01-11 19:01:46Z]] 17:39:02.033 [debug] QUERY OK source="sources" db=0.3ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.034 [debug] QUERY OK source="media_items" db=1.1ms idle=5.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-23 16:59:48Z], 2] 17:39:02.036 [debug] QUERY OK source="media_items" db=1.8ms idle=5.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["My Austrian adventure continues and concludes with this hefty final episode, and rest assured that things start to hot up. The interactions increase, as does the foraging, and I even avoid another night on a bench, right at the death. What follows is another of my classic heartwarming but slightly odd experiences, followed by a calamitous ending. \n\n***SUBTITLES RECOMMENDED AS SOME SPEECH IS IN GERMAN***\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nWATCH THESE EPISODES EARLY + DOZENS MORE ADVENTURES ON PATREON:\nhttps://www.patreon.com/c/geowizard\n-------------------------------------------------------------------------------------------------------------------\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\n\nWeinlese Polka by Die Stimmigen, https://t.lickd.co/l/zR37MwPr2y0", "My Austrian \"Tenner in my pocket\" adventure takes an unexpected turn (and doesn't end well)", "5c55a71e-5b5e-4dfa-8f9a-29b945d70073", 3682, false, "9mhdjKgj4GI", "https://www.youtube.com/watch?v=9mhdjKgj4GI", 3, "/downloads/GeoWizard/My Austrian "Tenner in my pocket" adventure takes an unexpected turn (and doesn't end well)/My Austrian "Tenner in my pocket" adventure takes an unexpected turn (and doesn't end well) [9mhdjKgj4GI].mp4", false, false, false, 2, [], 98, ~U[2025-12-23 16:59:48Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "My Austrian adventure continues and concludes with this hefty final episode, and rest assured that things start to hot up. The interactions increase, as does the foraging, and I even avoid another night on a bench, right at the death. What follows is another of my classic heartwarming but slightly odd experiences, followed by a calamitous ending. \n\n***SUBTITLES RECOMMENDED AS SOME SPEECH IS IN GERMAN***\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nWATCH THESE EPISODES EARLY + DOZENS MORE ADVENTURES ON PATREON:\nhttps://www.patreon.com/c/geowizard\n-------------------------------------------------------------------------------------------------------------------\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\n\nWeinlese Polka by Die Stimmigen, https://t.lickd.co/l/zR37MwPr2y0", "My Austrian \"Tenner in my pocket\" adventure takes an unexpected turn (and doesn't end well)", 3682, false, "9mhdjKgj4GI", "https://www.youtube.com/watch?v=9mhdjKgj4GI", "/downloads/GeoWizard/My Austrian "Tenner in my pocket" adventure takes an unexpected turn (and doesn't end well)/My Austrian "Tenner in my pocket" adventure takes an unexpected turn (and doesn't end well) [9mhdjKgj4GI].mp4", false, 2, ~U[2025-12-23 16:59:48Z]] 17:39:02.037 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.039 [debug] QUERY OK source="media_items" db=1.1ms idle=5.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-15 18:56:51Z], 2] 17:39:02.040 [debug] QUERY OK source="media_items" db=1.2ms idle=6.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The most relaxing travel series you're ever going to watch (on this channel at least) is back by popular demand, except this time things up a notch as I try my luck in a foreign land. With nothing but £10 (€12) in my pocket and a sleeping bag in my rucksack, join me as I leave Salzburg and simply stroll east into the breathtakingly beautiful Austrian countryside with no specific aims other than to meet lovely people, find some food and water, and see if I can sleep somewhere comfier than a park bench. \n\n***SUBTITLES RECOMMENDED AS SOME SPEECH IS IN GERMAN***\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nWATCH THESE EPISODES EARLY + DOZENS MORE ADVENTURES ON PATREON:\nhttps://www.patreon.com/c/geowizard\n-------------------------------------------------------------------------------------------------------------------\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\n\nWeinlese Polka by Die Stimmigen, https://t.lickd.co/l/6wmEokMDjn8\nEdelweiss by Roland Steinel, https://t.lickd.co/l/6KGeN085Qg9", "I stuffed a tenner in my pocket and set off into the Austrian countryside", "6482b0bc-cfb9-467c-81a2-02996d4f9555", 2179, false, "hEgRFcISdRY", "https://www.youtube.com/watch?v=hEgRFcISdRY", 4, "/downloads/GeoWizard/I stuffed a tenner in my pocket and set off into the Austrian countryside/I stuffed a tenner in my pocket and set off into the Austrian countryside [hEgRFcISdRY].mp4", false, false, false, 2, [], 98, ~U[2025-12-15 18:56:51Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "The most relaxing travel series you're ever going to watch (on this channel at least) is back by popular demand, except this time things up a notch as I try my luck in a foreign land. With nothing but £10 (€12) in my pocket and a sleeping bag in my rucksack, join me as I leave Salzburg and simply stroll east into the breathtakingly beautiful Austrian countryside with no specific aims other than to meet lovely people, find some food and water, and see if I can sleep somewhere comfier than a park bench. \n\n***SUBTITLES RECOMMENDED AS SOME SPEECH IS IN GERMAN***\n\n-------------------------------------------------------------------------------------------------------------------\nBUY THE BRAND NEW \"LONDON NO ROADS\" POSTER HERE: https://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nPURCHASE A LIMITED EDITION GREEN FLOPSY'S DREAM VINYL HERE: \nhttps://www.officialgeowizardstore.com/\n-------------------------------------------------------------------------------------------------------------------\nWATCH THESE EPISODES EARLY + DOZENS MORE ADVENTURES ON PATREON:\nhttps://www.patreon.com/c/geowizard\n-------------------------------------------------------------------------------------------------------------------\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\n\nWeinlese Polka by Die Stimmigen, https://t.lickd.co/l/6wmEokMDjn8\nEdelweiss by Roland Steinel, https://t.lickd.co/l/6KGeN085Qg9", "I stuffed a tenner in my pocket and set off into the Austrian countryside", 2179, false, "hEgRFcISdRY", "https://www.youtube.com/watch?v=hEgRFcISdRY", "/downloads/GeoWizard/I stuffed a tenner in my pocket and set off into the Austrian countryside/I stuffed a tenner in my pocket and set off into the Austrian countryside [hEgRFcISdRY].mp4", false, 2, ~U[2025-12-15 18:56:51Z]] 17:39:02.041 [debug] QUERY OK source="sources" db=0.4ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.042 [debug] QUERY OK source="media_items" db=1.1ms idle=4.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-04 18:00:05Z], 2] 17:39:02.051 [debug] QUERY OK source="media_items" db=8.3ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The internet's most heartwarming Geography series continues with this lovely offering. It's not the mega hard one that I promised last time (that's a work in progress!) but it didn't fail to occupy and confuse me..\n\nCan I find out where Daniel and his deceased father went on holiday 25 years ago so that he can bring his daughter closer to the grandad she never met? or will the red herrings prove too much for my tiny brain...\n\nPOSTERS, ALBUM + MORE: https://www.officialgeowizardstore.com/\n\nMOM'S MURDER MYSTERY NOVELS: https://www.amazon.co.uk/stores/Jane-Hurst/author/B0C28MXTDW?ref=sr_ntt_srch_lnk_3&qid=1764838054&sr=1-3&isDramIntegrated=true&shoppingPortalEnabled=true", "\"My daughter never met her Grandad. Help me recreate this photo with her\" [GEO DETECTIVE #36]", "78f36b24-4d3f-45e4-b92f-87c9db6457ac", 1512, false, "4IQu3wGLEAo", "https://www.youtube.com/watch?v=4IQu3wGLEAo", 5, "/downloads/GeoWizard/"My daughter never met her Grandad. Help me recreate this photo with her" [GEO DETECTIVE #36]/"My daughter never met her Grandad. Help me recreate this photo with her" [GEO DETECTIVE #36] [4IQu3wGLEAo].mp4", false, false, false, 2, [], 98, ~U[2025-12-04 18:00:05Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "The internet's most heartwarming Geography series continues with this lovely offering. It's not the mega hard one that I promised last time (that's a work in progress!) but it didn't fail to occupy and confuse me..\n\nCan I find out where Daniel and his deceased father went on holiday 25 years ago so that he can bring his daughter closer to the grandad she never met? or will the red herrings prove too much for my tiny brain...\n\nPOSTERS, ALBUM + MORE: https://www.officialgeowizardstore.com/\n\nMOM'S MURDER MYSTERY NOVELS: https://www.amazon.co.uk/stores/Jane-Hurst/author/B0C28MXTDW?ref=sr_ntt_srch_lnk_3&qid=1764838054&sr=1-3&isDramIntegrated=true&shoppingPortalEnabled=true", "\"My daughter never met her Grandad. Help me recreate this photo with her\" [GEO DETECTIVE #36]", 1512, false, "4IQu3wGLEAo", "https://www.youtube.com/watch?v=4IQu3wGLEAo", "/downloads/GeoWizard/"My daughter never met her Grandad. Help me recreate this photo with her" [GEO DETECTIVE #36]/"My daughter never met her Grandad. Help me recreate this photo with her" [GEO DETECTIVE #36] [4IQu3wGLEAo].mp4", false, 2, ~U[2025-12-04 18:00:05Z]] 17:39:02.052 [debug] QUERY OK source="sources" db=0.2ms idle=12.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.053 [debug] QUERY OK source="media_items" db=1.0ms idle=11.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-03 09:44:50Z], 2] 17:39:02.055 [debug] QUERY OK source="media_items" db=1.1ms idle=12.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I'm on a quest to inspire the nation to fall in love with the great outdoors, but it dawned on me recently that I might be failing. After all, not everyone wants to be chased by a farmer or get lost in a sewer. I needed to strip things back to basics, so this summer I grabbed a tent, a sleeping bag and a few other bits and set off into the mystical landscapes of Snowdonia for what is probably my all time favorite style of adventure: Three days of hiking through nature, finding great wild camping spots, indulging in some wild swimming and wild cooking, and ending up at a cosy pub. \n\nIn some ways this is quite a big departure from my usual jaunts - there's less danger or jeopardy involved (although still a fair bit), but I'm really hoping that by the time you've watched it you'll have a new found appreciation for this magical place, and maybe even a new perspective on what it means to embark on an epic adventure.\n\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\nThe Blacksmith by Steeleye Span, https://t.lickd.co/l/Qg25AE532dv\nThe Blacksmith by Steeleye Span, https://t.lickd.co/l/RPVbewMOmp6\nFolk Blokes by David Michael, Lee Pomeroy, https://t.lickd.co/l/gbWRkz2DXkn\nHair Across the Frets by Wild Willy Barrett, https://t.lickd.co/l/LXrww4YDraE\nLucky Thirteen by Bert Jansch, John Renbourn, https://t.lickd.co/l/NPjEZlq9w0B", "The best adventure you’ll ever have is right on your doorstep [3 days in Snowdonia]", "61abfde7-5244-4fc8-b91c-98b9247c4536", 3699, false, "WlHyCZre3zE", "https://www.youtube.com/watch?v=WlHyCZre3zE", 6, "/downloads/GeoWizard/The best adventure you’ll ever have is right on your doorstep [3 days in Snowdonia]/The best adventure you’ll ever have is right on your doorstep [3 days in Snowdonia] [WlHyCZre3zE].mp4", false, false, false, 2, [], 98, ~U[2025-11-03 09:44:50Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "I'm on a quest to inspire the nation to fall in love with the great outdoors, but it dawned on me recently that I might be failing. After all, not everyone wants to be chased by a farmer or get lost in a sewer. I needed to strip things back to basics, so this summer I grabbed a tent, a sleeping bag and a few other bits and set off into the mystical landscapes of Snowdonia for what is probably my all time favorite style of adventure: Three days of hiking through nature, finding great wild camping spots, indulging in some wild swimming and wild cooking, and ending up at a cosy pub. \n\nIn some ways this is quite a big departure from my usual jaunts - there's less danger or jeopardy involved (although still a fair bit), but I'm really hoping that by the time you've watched it you'll have a new found appreciation for this magical place, and maybe even a new perspective on what it means to embark on an epic adventure.\n\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\nThe Blacksmith by Steeleye Span, https://t.lickd.co/l/Qg25AE532dv\nThe Blacksmith by Steeleye Span, https://t.lickd.co/l/RPVbewMOmp6\nFolk Blokes by David Michael, Lee Pomeroy, https://t.lickd.co/l/gbWRkz2DXkn\nHair Across the Frets by Wild Willy Barrett, https://t.lickd.co/l/LXrww4YDraE\nLucky Thirteen by Bert Jansch, John Renbourn, https://t.lickd.co/l/NPjEZlq9w0B", "The best adventure you’ll ever have is right on your doorstep [3 days in Snowdonia]", 3699, false, "WlHyCZre3zE", "https://www.youtube.com/watch?v=WlHyCZre3zE", "/downloads/GeoWizard/The best adventure you’ll ever have is right on your doorstep [3 days in Snowdonia]/The best adventure you’ll ever have is right on your doorstep [3 days in Snowdonia] [WlHyCZre3zE].mp4", false, 2, ~U[2025-11-03 09:44:50Z]] 17:39:02.055 [debug] QUERY OK source="sources" db=0.4ms idle=12.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.057 [debug] QUERY OK source="media_items" db=1.1ms idle=4.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-01 19:00:34Z], 2] 17:39:02.058 [debug] QUERY OK source="media_items" db=0.9ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Geo Detective is back! and we resume things with this stunning photo of Pete's grandfather taken way back in 1930. I had this one down as a hard one mainly because of the age of the photo and how little buildings we can see. Can I use my geographical knowledge and google earth skills to figure out exactly where Pete's ancestors stood that sunny day? or will this one simply prove impossible...\n\nSign up to my Patreon to watch the deleted episode along with dozens of exclusive adventures!\n\nhttps://www.patreon.com/c/geowizard", "\"Please find out where my 5 year old grandfather went on holiday in 1930\" [Geo Detective #35]", "4d1cf8ca-6067-49b6-8a37-3600b591f7a2", 1146, false, "V7kfrOl-240", "https://www.youtube.com/watch?v=V7kfrOl-240", 7, "/downloads/GeoWizard/"Please find out where my 5 year old grandfather went on holiday in 1930" [Geo Detective #35]/"Please find out where my 5 year old grandfather went on holiday in 1930" [Geo Detective #35] [V7kfrOl-240].mp4", false, false, false, 2, [], 98, ~U[2025-10-01 19:00:34Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "Geo Detective is back! and we resume things with this stunning photo of Pete's grandfather taken way back in 1930. I had this one down as a hard one mainly because of the age of the photo and how little buildings we can see. Can I use my geographical knowledge and google earth skills to figure out exactly where Pete's ancestors stood that sunny day? or will this one simply prove impossible...\n\nSign up to my Patreon to watch the deleted episode along with dozens of exclusive adventures!\n\nhttps://www.patreon.com/c/geowizard", "\"Please find out where my 5 year old grandfather went on holiday in 1930\" [Geo Detective #35]", 1146, false, "V7kfrOl-240", "https://www.youtube.com/watch?v=V7kfrOl-240", "/downloads/GeoWizard/"Please find out where my 5 year old grandfather went on holiday in 1930" [Geo Detective #35]/"Please find out where my 5 year old grandfather went on holiday in 1930" [Geo Detective #35] [V7kfrOl-240].mp4", false, 2, ~U[2025-10-01 19:00:34Z]] 17:39:02.058 [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" = ?) [2] 17:39:02.060 [debug] QUERY OK source="media_items" db=0.9ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-14 19:00:04Z], 2] 17:39:02.061 [debug] QUERY OK source="media_items" db=1.1ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["My most ambitious/mental urban adventure to date draws to a reluctant close, but I've saved all the best content till last. My ticket to the southern edge of Greater London is now via the Ravensbourne river, a fascinating but sometimes filthy semi-subterranean tributary of the Thames. My decision to leave it temporarily results in one of the most exhausting shortcuts ever taken, and a subtle flaw in my route late on that leads to one of the most wretched ordeals me or my uncle Ed have ever experienced. Will we make it out of the sewers and complete the mission with no deviations? or will my luck finally run out...\n\n***GOOD ENGLISH SUBTITLES AVAILABLE***\n\n***I SCRAPPED THE MINI MAP ON THIS ONE AS I FELT IT WAS MORE OF A HINDRANCE/DISTRACTION THAN ANYTHING ELSE***\n___________________________________________________________________________\n\nLISTEN TO MY BRAND NEW ALBUM \"PLEASANT PUDDING\" HERE:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\nBandcamp: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventure episodes a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0", "Lost in the sewers of London [London no roads #3]", "e919d3cf-616a-4209-bde3-01905c690d2c", 3530, false, "DRHHTQZXhoI", "https://www.youtube.com/watch?v=DRHHTQZXhoI", 8, "/downloads/GeoWizard/Lost in the sewers of London [London no roads #3]/Lost in the sewers of London [London no roads #3] [DRHHTQZXhoI].mp4", false, false, false, 2, [], 98, ~U[2025-09-14 19:00:04Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "My most ambitious/mental urban adventure to date draws to a reluctant close, but I've saved all the best content till last. My ticket to the southern edge of Greater London is now via the Ravensbourne river, a fascinating but sometimes filthy semi-subterranean tributary of the Thames. My decision to leave it temporarily results in one of the most exhausting shortcuts ever taken, and a subtle flaw in my route late on that leads to one of the most wretched ordeals me or my uncle Ed have ever experienced. Will we make it out of the sewers and complete the mission with no deviations? or will my luck finally run out...\n\n***GOOD ENGLISH SUBTITLES AVAILABLE***\n\n***I SCRAPPED THE MINI MAP ON THIS ONE AS I FELT IT WAS MORE OF A HINDRANCE/DISTRACTION THAN ANYTHING ELSE***\n___________________________________________________________________________\n\nLISTEN TO MY BRAND NEW ALBUM \"PLEASANT PUDDING\" HERE:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\nBandcamp: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventure episodes a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0", "Lost in the sewers of London [London no roads #3]", 3530, false, "DRHHTQZXhoI", "https://www.youtube.com/watch?v=DRHHTQZXhoI", "/downloads/GeoWizard/Lost in the sewers of London [London no roads #3]/Lost in the sewers of London [London no roads #3] [DRHHTQZXhoI].mp4", false, 2, ~U[2025-09-14 19:00:04Z]] 17:39:02.062 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.063 [debug] QUERY OK source="media_items" db=0.9ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-31 17:30:02Z], 2] 17:39:02.064 [debug] QUERY OK source="media_items" db=0.9ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["This unhinged urban adventure continues with part 2 of 3, and we’re about to enter the beating heart of the city. Things have already been trickier and slower than expected up until this point, but with fence riddled schools, apartment complexes, and construction sites standing between me and the Thames, there can be no dilly-dallying. Can I smash my way through it all? Or will a series of unexpected obstacles in Canary Wharf spell the end?\n\n***GOOD ENGLISH SUBTITLES AVAILABLE***\n___________________________________________________________________________\n\nLISTEN TO MY BRAND NEW ALBUM \"PLEASANT PUDDING\" HERE:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\nBandcamp: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventure episodes a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0", "Things get silly as I enter the heart of the city [London no roads #2]", "83f06f94-65ed-4173-8a20-2587ef47807c", 1999, false, "8xn549ahaS4", "https://www.youtube.com/watch?v=8xn549ahaS4", 9, "/downloads/GeoWizard/Things get silly as I enter the heart of the city [London no roads #2]/Things get silly as I enter the heart of the city [London no roads #2] [8xn549ahaS4].mp4", false, false, false, 2, [], 98, ~U[2025-08-31 17:30:02Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "This unhinged urban adventure continues with part 2 of 3, and we’re about to enter the beating heart of the city. Things have already been trickier and slower than expected up until this point, but with fence riddled schools, apartment complexes, and construction sites standing between me and the Thames, there can be no dilly-dallying. Can I smash my way through it all? Or will a series of unexpected obstacles in Canary Wharf spell the end?\n\n***GOOD ENGLISH SUBTITLES AVAILABLE***\n___________________________________________________________________________\n\nLISTEN TO MY BRAND NEW ALBUM \"PLEASANT PUDDING\" HERE:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\nBandcamp: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventure episodes a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0", "Things get silly as I enter the heart of the city [London no roads #2]", 1999, false, "8xn549ahaS4", "https://www.youtube.com/watch?v=8xn549ahaS4", "/downloads/GeoWizard/Things get silly as I enter the heart of the city [London no roads #2]/Things get silly as I enter the heart of the city [London no roads #2] [8xn549ahaS4].mp4", false, 2, ~U[2025-08-31 17:30:02Z]] 17:39:02.065 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.066 [debug] QUERY OK source="media_items" db=0.9ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-24 17:00:08Z], 2] 17:39:02.135 [debug] QUERY OK source="media_items" db=68.3ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's finally here; The London No Roads Mission, and it's not for the faint hearted. \n\nToday I finally get to show you my maddest mission to date. A daring raid on a city of 9 million people, 32 vertical miles and countless tall spiky fences. It's Birmingham times 10, and I honestly didn't know if it would be possible going in. A few miles in I was even less sure. But I kept going, and the results are both thrilling and hilarious. Fasten your seatbelts and get ready for the ultimate urban adventure. A tale of endurance, stealth, stress management, but above all conquering fears.\n\n***GOOD ENGLISH SUBTITLES AVAILABLE***\n___________________________________________________________________________\n\nORDER PLEASANT PUDDING VINYL + T SHIRTS ON MY WEBSITE:\nhttps://www.officialgeowizardstore.com/\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventures a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0", "I attempted to walk across Greater London without using a single road", "3b8f2847-6251-42dc-826e-260ef7c6d422", 2580, false, "4476uSeTsg8", "https://www.youtube.com/watch?v=4476uSeTsg8", 10, "/downloads/GeoWizard/I attempted to walk across Greater London without using a single road/I attempted to walk across Greater London without using a single road [4476uSeTsg8].mp4", false, false, false, 2, [], 98, ~U[2025-08-24 17:00:08Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "It's finally here; The London No Roads Mission, and it's not for the faint hearted. \n\nToday I finally get to show you my maddest mission to date. A daring raid on a city of 9 million people, 32 vertical miles and countless tall spiky fences. It's Birmingham times 10, and I honestly didn't know if it would be possible going in. A few miles in I was even less sure. But I kept going, and the results are both thrilling and hilarious. Fasten your seatbelts and get ready for the ultimate urban adventure. A tale of endurance, stealth, stress management, but above all conquering fears.\n\n***GOOD ENGLISH SUBTITLES AVAILABLE***\n___________________________________________________________________________\n\nORDER PLEASANT PUDDING VINYL + T SHIRTS ON MY WEBSITE:\nhttps://www.officialgeowizardstore.com/\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventures a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0", "I attempted to walk across Greater London without using a single road", 2580, false, "4476uSeTsg8", "https://www.youtube.com/watch?v=4476uSeTsg8", "/downloads/GeoWizard/I attempted to walk across Greater London without using a single road/I attempted to walk across Greater London without using a single road [4476uSeTsg8].mp4", false, 2, ~U[2025-08-24 17:00:08Z]] 17:39:02.136 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=71.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.140 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=71.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-08 18:36:19Z], 2] 17:39:02.150 [debug] QUERY OK source="media_items" db=9.3ms idle=74.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#ad\n\nHappy Friday everyone. Today it's a Geo detective with a twist...\n\nDestination X is the BBC's brand-new reality game show which sees contestants travel on a bus with blacked-out windows, completely unaware of their location. At each stop they face challenges designed to test their instincts and observation skills - only by spotting the right clues can they work out where in the world they are. It's a bit like real life Geoguessr but on a much grander scale.\n\nThe BBC decided it would be rude not to challenge me to see how quickly I could figure out where the contestants are being whisked away to on Episode 1. In this video you'll get my thought process as I pause the episode and put my geo detective skills to the test. As you know though I'm prone to getting carried away...\n\nWatch Destination X on BBC iPlayer and play along!\n\nhttps://www.bbc.co.uk/iplayer/episode/m002f1l5?at_mid=9lgDAfrioe&at_campaign=DestinationX_GeoWizard_YouTube&at_medium=video&at_campaign_type=paid&at_nation=NET&at_ptr_name=youtube&at_format=description&at_product=iplayer&at_brand=m0024pz8&at_audience_id=WF&at_objective=awareness&at_bbc_team=BBC", "How quickly can I figure out where the contestants are in BBC's Destination X?", "b5530e33-38e3-4e4c-8dc6-5f84af5d83b0", 1580, false, "tXd2mjgwUMs", "https://www.youtube.com/watch?v=tXd2mjgwUMs", 11, "/downloads/GeoWizard/How quickly can I figure out where the contestants are in BBC's Destination X?/How quickly can I figure out where the contestants are in BBC's Destination X? [tXd2mjgwUMs].mp4", false, false, false, 2, [], 98, ~U[2025-08-08 18:36:19Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "#ad\n\nHappy Friday everyone. Today it's a Geo detective with a twist...\n\nDestination X is the BBC's brand-new reality game show which sees contestants travel on a bus with blacked-out windows, completely unaware of their location. At each stop they face challenges designed to test their instincts and observation skills - only by spotting the right clues can they work out where in the world they are. It's a bit like real life Geoguessr but on a much grander scale.\n\nThe BBC decided it would be rude not to challenge me to see how quickly I could figure out where the contestants are being whisked away to on Episode 1. In this video you'll get my thought process as I pause the episode and put my geo detective skills to the test. As you know though I'm prone to getting carried away...\n\nWatch Destination X on BBC iPlayer and play along!\n\nhttps://www.bbc.co.uk/iplayer/episode/m002f1l5?at_mid=9lgDAfrioe&at_campaign=DestinationX_GeoWizard_YouTube&at_medium=video&at_campaign_type=paid&at_nation=NET&at_ptr_name=youtube&at_format=description&at_product=iplayer&at_brand=m0024pz8&at_audience_id=WF&at_objective=awareness&at_bbc_team=BBC", "How quickly can I figure out where the contestants are in BBC's Destination X?", 1580, false, "tXd2mjgwUMs", "https://www.youtube.com/watch?v=tXd2mjgwUMs", "/downloads/GeoWizard/How quickly can I figure out where the contestants are in BBC's Destination X?/How quickly can I figure out where the contestants are in BBC's Destination X? [tXd2mjgwUMs].mp4", false, 2, ~U[2025-08-08 18:36:19Z]] 17:39:02.152 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=83.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.155 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=17.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-24 18:00:07Z], 2] 17:39:02.159 [debug] QUERY OK source="media_items" db=2.8ms idle=19.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's time for a good old Geoguessr play along and we're picking up from where we left off with some classic album cover locations. Can I beat my previous score of 24,304 or 2.5 correct album covers? and can you beat me?\n\nPLAY ALONG: Play your round, put your marker down, then switch tabs back to Youtube to watch my attempt and the result. This way you don't ruin the game or the video!\n\nGAME 1: https://www.geoguessr.com/challenge/OOTPxmEzda6Uk3tT\nGAME 2: https://www.geoguessr.com/challenge/UAjRwGXHQ3eo85pf\n\n---------------------------------------------------------------------------------------------------------------------------------------------------------\n\nListen to Pleasant Pudding on all streaming platforms now:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\n\nOr make a purchase:\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\nVINYL PRE-ORDER: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding", "Could you guess the real locations of these famous album covers? [PLAY ALONG]", "11ae229f-caef-4abe-98dd-0e68e42f8e0a", 1493, false, "7SiEaZ_AD9c", "https://www.youtube.com/watch?v=7SiEaZ_AD9c", 12, "/downloads/GeoWizard/Could you guess the real locations of these famous album covers? [PLAY ALONG]/Could you guess the real locations of these famous album covers? [PLAY ALONG] [7SiEaZ_AD9c].mp4", false, false, false, 2, [], 98, ~U[2025-07-24 18:00:07Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "It's time for a good old Geoguessr play along and we're picking up from where we left off with some classic album cover locations. Can I beat my previous score of 24,304 or 2.5 correct album covers? and can you beat me?\n\nPLAY ALONG: Play your round, put your marker down, then switch tabs back to Youtube to watch my attempt and the result. This way you don't ruin the game or the video!\n\nGAME 1: https://www.geoguessr.com/challenge/OOTPxmEzda6Uk3tT\nGAME 2: https://www.geoguessr.com/challenge/UAjRwGXHQ3eo85pf\n\n---------------------------------------------------------------------------------------------------------------------------------------------------------\n\nListen to Pleasant Pudding on all streaming platforms now:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\n\nOr make a purchase:\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\nVINYL PRE-ORDER: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding", "Could you guess the real locations of these famous album covers? [PLAY ALONG]", 1493, false, "7SiEaZ_AD9c", "https://www.youtube.com/watch?v=7SiEaZ_AD9c", "/downloads/GeoWizard/Could you guess the real locations of these famous album covers? [PLAY ALONG]/Could you guess the real locations of these famous album covers? [PLAY ALONG] [7SiEaZ_AD9c].mp4", false, 2, ~U[2025-07-24 18:00:07Z]] 17:39:02.161 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=20.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.164 [debug] QUERY OK source="media_items" db=2.7ms idle=11.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-06 17:01:59Z], 2] 17:39:02.168 [debug] QUERY OK source="media_items" db=2.8ms idle=12.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["***GOOD SUBTITLES AVAILABLE***\n\nIt's time to find out if Marcus, a geeky chess teacher from Surrey can finally end his disastrous string of straight line mission attempts with an emphatic victory. Standing in his way on this final day will be lake crossings, vertigo inducing crags and an unexpected deer farm. Is this where he finally comes undone? or can his weary legged frame battle through it all? \n___________________________________________________________________________\n\nORDER PLEASANT PUDDING VINYL + T SHIRTS ON MY WEBSITE:\nhttps://www.officialgeowizardstore.com/\n\n___________________________________________________________________________\n\nCheck out Marcus's channel: https://www.youtube.com/@marcusthechessteacher\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventures a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4.\n\nFull list of adventures available on the $4 tier: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0\n__________________________________________________________________________", "Can \"laughing stock\" Marcus brave more cliffs and deer farms to finally make it to the coast?", "4e893dd0-914e-4c3f-a585-df405c87f7b0", 2078, false, "HQh-SHwUpDc", "https://www.youtube.com/watch?v=HQh-SHwUpDc", 13, "/downloads/GeoWizard/Can "laughing stock" Marcus brave more cliffs and deer farms to finally make it to the coast?/Can "laughing stock" Marcus brave more cliffs and deer farms to finally make it to the coast? [HQh-SHwUpDc].mp4", false, false, false, 2, [], 98, ~U[2025-07-06 17:01:59Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "***GOOD SUBTITLES AVAILABLE***\n\nIt's time to find out if Marcus, a geeky chess teacher from Surrey can finally end his disastrous string of straight line mission attempts with an emphatic victory. Standing in his way on this final day will be lake crossings, vertigo inducing crags and an unexpected deer farm. Is this where he finally comes undone? or can his weary legged frame battle through it all? \n___________________________________________________________________________\n\nORDER PLEASANT PUDDING VINYL + T SHIRTS ON MY WEBSITE:\nhttps://www.officialgeowizardstore.com/\n\n___________________________________________________________________________\n\nCheck out Marcus's channel: https://www.youtube.com/@marcusthechessteacher\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch all my YouTube adventures a day early + deleted scenes https://www.patreon.com/geowizard\n\nor get SO much more for $4.\n\nFull list of adventures available on the $4 tier: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0\n__________________________________________________________________________", "Can \"laughing stock\" Marcus brave more cliffs and deer farms to finally make it to the coast?", 2078, false, "HQh-SHwUpDc", "https://www.youtube.com/watch?v=HQh-SHwUpDc", "/downloads/GeoWizard/Can "laughing stock" Marcus brave more cliffs and deer farms to finally make it to the coast?/Can "laughing stock" Marcus brave more cliffs and deer farms to finally make it to the coast? [HQh-SHwUpDc].mp4", false, 2, ~U[2025-07-06 17:01:59Z]] 17:39:02.169 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=13.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.172 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=10.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-29 19:00:02Z], 2] 17:39:02.175 [debug] QUERY OK source="media_items" db=2.2ms idle=11.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["***GOOD SUBTITLES AVAILABLE***\n\nWelcome back everyone to an adventure that sticks two fingers up to skepticism, and laughs in the face of common sense. Can a geeky, bumbling chess teacher who hates getting his feet wet overturn years of failure and apparent delusion by achieving one of the toughest feats there is? I'm hoping that with my help he can, even if I'm prone to the odd disaster myself. We've already narrowly avoided one of those disasters on day 1 and are over a third of the way into our straight line mission across the Scotland. On day 2 however, deep rivers and extremely steep terrain will push Marcus to his very limit.\n\nHead to https://watertogo.eu/ and apply code GEOWIZARD20 for 20% their amazing filter bottles!\n___________________________________________________________________________\n\nCheck out Marcus's channel: https://www.youtube.com/@marcusthechessteacher\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch the remaining episodes a day early + bonus content https://www.patreon.com/geowizard\n\nOR get so much more for $4.\n\nFull list of adventures available on the $4 tier: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0\n__________________________________________________________________________\n\nFollow me on Instagram:\nTom's Instagram: https://www.instagram.com/geowizardofficial\n__________________________________________________________________________\n\nListen to \"16-Bit Adventure\"\nSpotify: https://open.spotify.com/album/3m1MNiRkBOY2Lz5EAXG1BB\nOr purchase it on Bandcamp for £4 here:\nhttps://amynedd.bandcamp.com/album/16-bit-adventure\n__________________________________________________________________________", "Can Marcus overcome his fear of heights and keep the mission alive? [SCOTLAND 2, PART 2]", "afe09d7b-82b7-4c3e-87da-ad68954a861a", 2168, false, "O6PfTXtmfmU", "https://www.youtube.com/watch?v=O6PfTXtmfmU", 14, "/downloads/GeoWizard/Can Marcus overcome his fear of heights and keep the mission alive? [SCOTLAND 2, PART 2]/Can Marcus overcome his fear of heights and keep the mission alive? [SCOTLAND 2, PART 2] [O6PfTXtmfmU].mp4", false, false, false, 2, [], 98, ~U[2025-06-29 19:00:02Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "***GOOD SUBTITLES AVAILABLE***\n\nWelcome back everyone to an adventure that sticks two fingers up to skepticism, and laughs in the face of common sense. Can a geeky, bumbling chess teacher who hates getting his feet wet overturn years of failure and apparent delusion by achieving one of the toughest feats there is? I'm hoping that with my help he can, even if I'm prone to the odd disaster myself. We've already narrowly avoided one of those disasters on day 1 and are over a third of the way into our straight line mission across the Scotland. On day 2 however, deep rivers and extremely steep terrain will push Marcus to his very limit.\n\nHead to https://watertogo.eu/ and apply code GEOWIZARD20 for 20% their amazing filter bottles!\n___________________________________________________________________________\n\nCheck out Marcus's channel: https://www.youtube.com/@marcusthechessteacher\n___________________________________________________________________________\n\nSupport me on Patreon for $1 and watch the remaining episodes a day early + bonus content https://www.patreon.com/geowizard\n\nOR get so much more for $4.\n\nFull list of adventures available on the $4 tier: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0\n__________________________________________________________________________\n\nFollow me on Instagram:\nTom's Instagram: https://www.instagram.com/geowizardofficial\n__________________________________________________________________________\n\nListen to \"16-Bit Adventure\"\nSpotify: https://open.spotify.com/album/3m1MNiRkBOY2Lz5EAXG1BB\nOr purchase it on Bandcamp for £4 here:\nhttps://amynedd.bandcamp.com/album/16-bit-adventure\n__________________________________________________________________________", "Can Marcus overcome his fear of heights and keep the mission alive? [SCOTLAND 2, PART 2]", 2168, false, "O6PfTXtmfmU", "https://www.youtube.com/watch?v=O6PfTXtmfmU", "/downloads/GeoWizard/Can Marcus overcome his fear of heights and keep the mission alive? [SCOTLAND 2, PART 2]/Can Marcus overcome his fear of heights and keep the mission alive? [SCOTLAND 2, PART 2] [O6PfTXtmfmU].mp4", false, 2, ~U[2025-06-29 19:00:02Z]] 17:39:02.176 [debug] QUERY OK source="sources" db=0.6ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.178 [debug] QUERY OK source="media_items" db=1.6ms idle=8.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-22 19:00:01Z], 2] 17:39:02.180 [debug] QUERY OK source="media_items" db=1.6ms idle=9.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://watertogo.eu/ and apply code GEOWIZARD20 for 20% their amazing filter bottles!\n________________________________________________________________________________________\n\n*Good Subtitles Available*\n\nYep, I've finally lost the plot. This year I scrapped my solo mission plans and made the bold decision to team up with Marcus the chess teacher to see if I could help him put a winning end to the never ending tragedy that is his straight line mission saga. \nWas I mad to think that all he needed was a shot of confidence and guidance from someone like me to get the job done? Or was I just as deluded as he is? What if I buggered it up for both of us? the risks were huge, but the potential spoils of this victory were too tempting to turn down. \n________________________________________________________________________________________\n\nCheck out Marcus's channel: https://www.youtube.com/@marcusthechessteacher\n________________________________________________________________________________________\n\nSupport me on Patreon for $1 and watch the remaining episodes a day early + bonus content https://www.patreon.com/geowizard\n\nOR get so much more for $4.\n\nFull list of adventures available on the $4 tier: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0\n________________________________________________________________________________________\n\nFollow me on Instagram:\nTom's Instagram: https://www.instagram.com/geowizardofficial\n________________________________________________________________________________________\n\nListen to \"16-Bit Adventure\"\nSpotify: https://open.spotify.com/album/3m1MNiRkBOY2Lz5EAXG1BB\nOr purchase it on Bandcamp for £4 here:\nhttps://amynedd.bandcamp.com/album/16-bit-adventure\n________________________________________________________________________________________\n\nBlue Monday (2023 Digital Master) by New Order, https://lickd.lnk.to/qXe2RfID!GeoWizard License ID: Vq82mxJjDkb", "Can I cross Scotland with the \"laughing stock\" of straight line missions?", "dfd63388-11a8-4dbd-8bd0-c77202367ecd", 2881, false, "BSbu2FufX3k", "https://www.youtube.com/watch?v=BSbu2FufX3k", 15, "/downloads/GeoWizard/Can I cross Scotland with the "laughing stock" of straight line missions?/Can I cross Scotland with the "laughing stock" of straight line missions? [BSbu2FufX3k].mp4", false, false, false, 2, [], 98, ~U[2025-06-22 19:00:01Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "Head to https://watertogo.eu/ and apply code GEOWIZARD20 for 20% their amazing filter bottles!\n________________________________________________________________________________________\n\n*Good Subtitles Available*\n\nYep, I've finally lost the plot. This year I scrapped my solo mission plans and made the bold decision to team up with Marcus the chess teacher to see if I could help him put a winning end to the never ending tragedy that is his straight line mission saga. \nWas I mad to think that all he needed was a shot of confidence and guidance from someone like me to get the job done? Or was I just as deluded as he is? What if I buggered it up for both of us? the risks were huge, but the potential spoils of this victory were too tempting to turn down. \n________________________________________________________________________________________\n\nCheck out Marcus's channel: https://www.youtube.com/@marcusthechessteacher\n________________________________________________________________________________________\n\nSupport me on Patreon for $1 and watch the remaining episodes a day early + bonus content https://www.patreon.com/geowizard\n\nOR get so much more for $4.\n\nFull list of adventures available on the $4 tier: https://docs.google.com/spreadsheets/d/1HD8TRZjoU8fCrEOcD_8ks9ao0RuYmy4ExyTx8eQtyLU/edit?gid=0#gid=0\n________________________________________________________________________________________\n\nFollow me on Instagram:\nTom's Instagram: https://www.instagram.com/geowizardofficial\n________________________________________________________________________________________\n\nListen to \"16-Bit Adventure\"\nSpotify: https://open.spotify.com/album/3m1MNiRkBOY2Lz5EAXG1BB\nOr purchase it on Bandcamp for £4 here:\nhttps://amynedd.bandcamp.com/album/16-bit-adventure\n________________________________________________________________________________________\n\nBlue Monday (2023 Digital Master) by New Order, https://lickd.lnk.to/qXe2RfID!GeoWizard License ID: Vq82mxJjDkb", "Can I cross Scotland with the \"laughing stock\" of straight line missions?", 2881, false, "BSbu2FufX3k", "https://www.youtube.com/watch?v=BSbu2FufX3k", "/downloads/GeoWizard/Can I cross Scotland with the "laughing stock" of straight line missions?/Can I cross Scotland with the "laughing stock" of straight line missions? [BSbu2FufX3k].mp4", false, 2, ~U[2025-06-22 19:00:01Z]] 17:39:02.181 [debug] QUERY OK source="sources" db=0.3ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.183 [debug] QUERY OK source="media_items" db=1.3ms idle=6.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-06 19:41:04Z], 2] 17:39:02.184 [debug] QUERY OK source="media_items" db=1.0ms idle=7.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we have some fun and possibly get cancelled in the process.\nIntroducing Ethnoguessr, that game that challenges you to pinpoint the epicentre of the origins of a particular ethnic group on a map. I was simply too curious to not play, and became more and more fascinated as the game went on. I actually ended up with a pretty good score too. Was it worth it? we'll find out in the comment section...\n\nPlay Ethnoguessr: https://hbd.gg/", "Pinpointing where specific ethnic groups originate from (without getting cancelled) [ETHNOGUESSR]", "8bcd2753-0ac6-4410-b76a-aafe62fe29bd", 1491, false, "r-0Pwg7ShW8", "https://www.youtube.com/watch?v=r-0Pwg7ShW8", 16, "/downloads/GeoWizard/Pinpointing where specific ethnic groups originate from (without getting cancelled) [ETHNOGUESSR]/Pinpointing where specific ethnic groups originate from (without getting cancelled) [ETHNOGUESSR] [r-0Pwg7ShW8].mp4", false, false, false, 2, [], 98, ~U[2025-06-06 19:41:04Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "Today we have some fun and possibly get cancelled in the process.\nIntroducing Ethnoguessr, that game that challenges you to pinpoint the epicentre of the origins of a particular ethnic group on a map. I was simply too curious to not play, and became more and more fascinated as the game went on. I actually ended up with a pretty good score too. Was it worth it? we'll find out in the comment section...\n\nPlay Ethnoguessr: https://hbd.gg/", "Pinpointing where specific ethnic groups originate from (without getting cancelled) [ETHNOGUESSR]", 1491, false, "r-0Pwg7ShW8", "https://www.youtube.com/watch?v=r-0Pwg7ShW8", "/downloads/GeoWizard/Pinpointing where specific ethnic groups originate from (without getting cancelled) [ETHNOGUESSR]/Pinpointing where specific ethnic groups originate from (without getting cancelled) [ETHNOGUESSR] [r-0Pwg7ShW8].mp4", false, 2, ~U[2025-06-06 19:41:04Z]] 17:39:02.185 [debug] QUERY OK source="sources" db=0.4ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.187 [debug] QUERY OK source="media_items" db=1.3ms idle=5.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-23 15:30:34Z], 2] 17:39:02.189 [debug] QUERY OK source="media_items" db=1.3ms idle=5.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's Geoguessr time and today we're getting transported to some classic album cover locations. I was really excited about discovering this map, but will my \"eclectic\" music taste be as useful as I thought it would be?\n\nPLAY ALONG: Play your round, put your marker down, then switch tabs back to Youtube to watch my attempt and the result. This way you don't ruin the game or the video!\n\nPlay this map: https://www.geoguessr.com/challenge/t3phOOZ4B284oWbR\n\n---------------------------------------------------------------------------------------------------------------------------------------------------------\n\nListen to Pleasant Pudding on all streaming platforms now:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\n\nOr make a purchase:\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\nVINYL PRE-ORDER: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding", "Geoguessr but every round is a famous album cover [PLAY ALONG]", "8a15063d-186a-44b2-8595-fcd1f52a233a", 1383, false, "nsaa3RjG2Tc", "https://www.youtube.com/watch?v=nsaa3RjG2Tc", 17, "/downloads/GeoWizard/Geoguessr but every round is a famous album cover [PLAY ALONG]/Geoguessr but every round is a famous album cover [PLAY ALONG] [nsaa3RjG2Tc].mp4", false, false, false, 2, [], 98, ~U[2025-05-23 15:30:34Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "It's Geoguessr time and today we're getting transported to some classic album cover locations. I was really excited about discovering this map, but will my \"eclectic\" music taste be as useful as I thought it would be?\n\nPLAY ALONG: Play your round, put your marker down, then switch tabs back to Youtube to watch my attempt and the result. This way you don't ruin the game or the video!\n\nPlay this map: https://www.geoguessr.com/challenge/t3phOOZ4B284oWbR\n\n---------------------------------------------------------------------------------------------------------------------------------------------------------\n\nListen to Pleasant Pudding on all streaming platforms now:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\n\nOr make a purchase:\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\nVINYL PRE-ORDER: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding", "Geoguessr but every round is a famous album cover [PLAY ALONG]", 1383, false, "nsaa3RjG2Tc", "https://www.youtube.com/watch?v=nsaa3RjG2Tc", "/downloads/GeoWizard/Geoguessr but every round is a famous album cover [PLAY ALONG]/Geoguessr but every round is a famous album cover [PLAY ALONG] [nsaa3RjG2Tc].mp4", false, 2, ~U[2025-05-23 15:30:34Z]] 17:39:02.189 [debug] QUERY OK source="sources" db=0.3ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.191 [debug] QUERY OK source="media_items" db=1.2ms idle=5.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-17 12:27:09Z], 2] 17:39:02.192 [debug] QUERY OK source="media_items" db=0.9ms idle=5.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["You know those curvy orange lines on the map that indicate altitude and steepness? Well what if I tried to follow one? My map tells me I'm going to be passing over farmland, ravines as I straddle the feet of big Welsh mountains, but will the terrain and foliage allow me to stay at the same altitude (420m above sea level) the entire time without any injuries?\n\nNEW ALBUM:\n\n-Buy on Bandcamp: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n-Order Vinyl: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding?srsltid=AfmBOopBctr9P9pKTzTQRcfUBfehoy3VYo1lyVNdHvbb4BbV2F0P-1Tm\n\n(Streaming + YouTube links coming soon)", "Can I cross a mountain range without leaving 420m above sea level?", "60d1a57d-4608-4971-b960-350e4e8fed49", 1283, false, "rsxirOtXJTM", "https://www.youtube.com/watch?v=rsxirOtXJTM", 18, "/downloads/GeoWizard/Can I cross a mountain range without leaving 420m above sea level?/Can I cross a mountain range without leaving 420m above sea level? [rsxirOtXJTM].mp4", false, false, false, 2, [], 98, ~U[2025-05-17 12:27:09Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "You know those curvy orange lines on the map that indicate altitude and steepness? Well what if I tried to follow one? My map tells me I'm going to be passing over farmland, ravines as I straddle the feet of big Welsh mountains, but will the terrain and foliage allow me to stay at the same altitude (420m above sea level) the entire time without any injuries?\n\nNEW ALBUM:\n\n-Buy on Bandcamp: https://flopsysdream.bandcamp.com/album/pleasant-pudding\n-Order Vinyl: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding?srsltid=AfmBOopBctr9P9pKTzTQRcfUBfehoy3VYo1lyVNdHvbb4BbV2F0P-1Tm\n\n(Streaming + YouTube links coming soon)", "Can I cross a mountain range without leaving 420m above sea level?", 1283, false, "rsxirOtXJTM", "https://www.youtube.com/watch?v=rsxirOtXJTM", "/downloads/GeoWizard/Can I cross a mountain range without leaving 420m above sea level?/Can I cross a mountain range without leaving 420m above sea level? [rsxirOtXJTM].mp4", false, 2, ~U[2025-05-17 12:27:09Z]] 17:39:02.193 [debug] QUERY OK source="sources" db=0.4ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:39:02.194 [debug] QUERY OK source="media_items" db=1.2ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-02 12:10:50Z], 2] 17:39:02.196 [debug] QUERY OK source="media_items" db=0.9ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["UPDATE: This album has now been released on ALL streaming platforms, including:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\n\nOr you can still support me here with a purchase:\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\nVINYL PRE-ORDER: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding\n\nI made an album, the roots of which go right back to 2008. It's dreamy, melodic bedroom pop and it's available to purchase right now on Bandcamp for £5. You can also get your orders in for the vinyl on the Cargo Records website ready for the June 27th release. On June 1st, I'll release it on every platform for free. \n\nIt won't be to everyone's taste I'm sure, but I'm proud of how these songs have turned out. Let me know your thoughts in the comment section below.\n\nCover art by the talented Coverartguyy: https://www.instagram.com/thecoverartguyy/", "I took a break from straight line missions and recorded a proper indie/pop album", "999e8d8c-c56a-49f3-b757-083369da4bb8", 640, false, "hBdGTMOXnKc", "https://www.youtube.com/watch?v=hBdGTMOXnKc", 19, "/downloads/GeoWizard/I took a break from straight line missions and recorded a proper indie⧸pop album/I took a break from straight line missions and recorded a proper indie⧸pop album [hBdGTMOXnKc].mp4", false, false, false, 2, [], 98, ~U[2025-05-02 12:10:50Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "UPDATE: This album has now been released on ALL streaming platforms, including:\n\nSpotify: https://open.spotify.com/album/3KT26jTOT5VHuTtI4rNs9a?si=oje8CiTGQfqZYc6baag4qA\nYouTube: https://www.youtube.com/playlist?list=PL_vEwaOug0dO-eZSdglkeFs50r4P-Q4ku\n\nOr you can still support me here with a purchase:\n\nBANDCAMP: https://flopsysdream.bandcamp.com/album/pleasant-pudding\nVINYL PRE-ORDER: https://cargorecordsdirect.co.uk/products/flopsy-s-dream-pleasant-pudding\n\nI made an album, the roots of which go right back to 2008. It's dreamy, melodic bedroom pop and it's available to purchase right now on Bandcamp for £5. You can also get your orders in for the vinyl on the Cargo Records website ready for the June 27th release. On June 1st, I'll release it on every platform for free. \n\nIt won't be to everyone's taste I'm sure, but I'm proud of how these songs have turned out. Let me know your thoughts in the comment section below.\n\nCover art by the talented Coverartguyy: https://www.instagram.com/thecoverartguyy/", "I took a break from straight line missions and recorded a proper indie/pop album", 640, false, "hBdGTMOXnKc", "https://www.youtube.com/watch?v=hBdGTMOXnKc", "/downloads/GeoWizard/I took a break from straight line missions and recorded a proper indie⧸pop album/I took a break from straight line missions and recorded a proper indie⧸pop album [hBdGTMOXnKc].mp4", false, 2, ~U[2025-05-02 12:10:50Z]] 17:39:02.196 [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" = ?) [2] 17:39:02.197 [debug] QUERY OK source="media_items" db=1.0ms idle=4.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-24 18:30:09Z], 2] 17:39:02.199 [debug] QUERY OK source="media_items" db=0.8ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today's episode of Geo Detective features two 1970's photos. First I'll try and locate the exact sidewalk where Sarah's Groovy Dad stood some 50 years ago, and then we move on to something really different; an undeveloped photograph, hidden away in a dusty old camera for 45 years and discovered in a charity shop in 2025. Until very recently, no one had laid eyes on this photo. Not only do I get to try and find out exactly where it was taken, but together we have the opportunity to try and hunt down the romantic couple in question in the hopes that maybe they can travel back to the location and recreate the photo. It's a long shot, but what a story it would be..", "This photo lay undeveloped for 45 years. Can I find the location and track the couple down?", "90baead4-038e-4e47-8826-fd1c61e914a3", 1498, false, "82zTGVB6iig", "https://www.youtube.com/watch?v=82zTGVB6iig", 20, "/downloads/GeoWizard/This photo lay undeveloped for 45 years. Can I find the location and track the couple down?/This photo lay undeveloped for 45 years. Can I find the location and track the couple down? [82zTGVB6iig].mp4", false, false, false, 2, [], 98, ~U[2025-04-24 18:30:09Z], ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], "Today's episode of Geo Detective features two 1970's photos. First I'll try and locate the exact sidewalk where Sarah's Groovy Dad stood some 50 years ago, and then we move on to something really different; an undeveloped photograph, hidden away in a dusty old camera for 45 years and discovered in a charity shop in 2025. Until very recently, no one had laid eyes on this photo. Not only do I get to try and find out exactly where it was taken, but together we have the opportunity to try and hunt down the romantic couple in question in the hopes that maybe they can travel back to the location and recreate the photo. It's a long shot, but what a story it would be..", "This photo lay undeveloped for 45 years. Can I find the location and track the couple down?", 1498, false, "82zTGVB6iig", "https://www.youtube.com/watch?v=82zTGVB6iig", "/downloads/GeoWizard/This photo lay undeveloped for 45 years. Can I find the location and track the couple down?/This photo lay undeveloped for 45 years. Can I find the location and track the couple down? [82zTGVB6iig].mp4", false, 2, ~U[2025-04-24 18:30:09Z]] 17:39:02.199 [debug] QUERY OK source="sources" db=0.2ms idle=4.6ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z], 2] 17:39:02.200 [debug] QUERY OK source="media_items" db=1.1ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 17:39:02.202 [debug] QUERY OK source="media_items" db=1.0ms idle=4.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 17:39:02.202 [debug] QUERY OK source="media_items" db=0.3ms idle=4.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 17:39:02.204 [debug] QUERY OK source="tasks" db=0.3ms idle=2.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [406, 2, ~U[2026-02-16 17:39:02Z], ~U[2026-02-16 17:39:02Z]] 17:39:02.204 [info] {"args":{"id":2},"id":395,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":57233471,"event":"job:stop","queue_time":868395,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 17:39:04.422 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:34.423 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:00.612 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:40:04.424 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:34.426 [info] {"source":"oban","duration":1342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:00.613 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:41:04.427 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:34.428 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:00.616 [info] {"source":"oban","duration":2604,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:42:04.430 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:34.431 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:00.618 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:43:04.433 [info] {"source":"oban","duration":1269,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:34.434 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:00.619 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:44:04.435 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:34.436 [info] {"source":"oban","duration":892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:00.621 [info] {"source":"oban","duration":331,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:45:04.438 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:34.439 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:00.622 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:46:04.440 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:34.441 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:00.623 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:47:04.442 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:34.444 [info] {"source":"oban","duration":1155,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:00.625 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:48:04.446 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:14.232 [info] {"args":{"id":5},"id":396,"meta":{},"system_time":1771264094232565845,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 17:48:14.233 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=347.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:14.234 [debug] QUERY OK source="settings" db=0.4ms idle=348.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:48:14.237 [debug] QUERY OK source="media_items" db=2.1ms idle=349.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [5] 17:48:14.238 [debug] QUERY OK source="media_items" db=1.3ms idle=11.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [5] 17:48:14.239 [debug] QUERY OK source="media_profiles" db=0.6ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:48:14.240 [debug] QUERY OK source="settings" db=0.3ms idle=6.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:48:14.241 [debug] QUERY OK source="settings" db=0.3ms idle=6.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:48:14.246 [debug] QUERY OK source="media_items" db=2.2ms idle=6.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [5] 17:48:14.248 [debug] Current batch of media processed. Will check again in 1000ms 17:48:14.249 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 17:48:14.249 [debug] QUERY OK source="settings" db=0.4ms 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 [] 17:48:14.250 [debug] QUERY OK source="settings" db=0.4ms idle=10.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:48:14.251 [debug] QUERY OK source="settings" db=0.4ms idle=9.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:48:14.251 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@any_austin --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Any Austin/%(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/71/1f/711f098d77c1c3836bcc01f5c0aed1ad0e6760cd74bcc51e8d2d65fd47c65584.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/aa/e9/aae9b697f87f85e0b7e9682ff0d4282dd3ae21694a58131755ec2f6079ad391b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:48:15.250 [debug] Current batch of media processed. Will check again in 1000ms 17:48:16.251 [debug] Current batch of media processed. Will check again in 1000ms 17:48:17.252 [debug] Current batch of media processed. Will check again in 1000ms 17:48:18.253 [debug] Current batch of media processed. Will check again in 1000ms 17:48:19.254 [debug] Current batch of media processed. Will check again in 1000ms 17:48:20.256 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "LAST ONE FOLKS: Knock out all your holiday gifting needs today with deals up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin.\n\n#skyrim #bethesda #forestry #trending \n\nI tried to figure out how many trees there are in Skyrim — without using mods or wikis. By walking the world, running real statistical surveys, and then checking the game files, I compared my guesses (and those of a bunch of other creators) to the actual number, with $10,000 going to charity for whoever came closest.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "duration" => 1485, "filename" => "/downloads/Any Austin/How Many Trees Are There in Skyrim?/How Many Trees Are There in Skyrim? [35yfu2wXmto].mp4", "id" => "35yfu2wXmto", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=35yfu2wXmto", "playlist_index" => 1, "timestamp" => 1766163705, "title" => "How Many Trees Are There in Skyrim?", "upload_date" => "20251219"} 17:48:20.257 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=371.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:48:20.259 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=373.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:20.262 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=374.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-19 17:01:45Z], 5] 17:48:20.274 [debug] QUERY OK source="media_items" db=11.3ms queue=0.1ms idle=377.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["LAST ONE FOLKS: Knock out all your holiday gifting needs today with deals up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin.\n\n#skyrim #bethesda #forestry #trending \n\nI tried to figure out how many trees there are in Skyrim — without using mods or wikis. By walking the world, running real statistical surveys, and then checking the game files, I compared my guesses (and those of a bunch of other creators) to the actual number, with $10,000 going to charity for whoever came closest.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "How Many Trees Are There in Skyrim?", "93b2a364-870e-4112-bbce-48909c1d63e0", 1485, false, "35yfu2wXmto", "https://www.youtube.com/watch?v=35yfu2wXmto", 1, "/downloads/Any Austin/How Many Trees Are There in Skyrim?/How Many Trees Are There in Skyrim? [35yfu2wXmto].mp4", false, false, false, 5, [], 98, ~U[2025-12-19 17:01:45Z], ~U[2026-02-16 17:48:20Z], ~U[2026-02-16 17:48:20Z], "LAST ONE FOLKS: Knock out all your holiday gifting needs today with deals up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin.\n\n#skyrim #bethesda #forestry #trending \n\nI tried to figure out how many trees there are in Skyrim — without using mods or wikis. By walking the world, running real statistical surveys, and then checking the game files, I compared my guesses (and those of a bunch of other creators) to the actual number, with $10,000 going to charity for whoever came closest.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "How Many Trees Are There in Skyrim?", 1485, false, "35yfu2wXmto", "https://www.youtube.com/watch?v=35yfu2wXmto", "/downloads/Any Austin/How Many Trees Are There in Skyrim?/How Many Trees Are There in Skyrim? [35yfu2wXmto].mp4", false, 5, ~U[2025-12-19 17:01:45Z]] 17:48:20.276 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=38.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:20.277 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.2ms idle=18.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:48:20.278 [debug] QUERY OK source="media_items" db=0.9ms idle=19.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1984] 17:48:20.279 [debug] Current batch of media processed. Will check again in 1000ms 17:48:21.280 [debug] Current batch of media processed. Will check again in 1000ms 17:48:22.281 [debug] Current batch of media processed. Will check again in 1000ms 17:48:23.282 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Download Idle Slayer for free! https://idleslayer.com/play?ref=AnyAustin\nAvailable on Android, iOS and Steam. \n\nThis video reverse-engineers GTA V’s hidden legal system by testing 20+ “crimes” in front of cops to figure out which actions the game actually treats as illegal, how harshly they’re punished (via stars), and what that says about Los Santos’s priorities (civilians vs property vs police vs infrastructure).\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "duration" => 1107, "filename" => "/downloads/Any Austin/What's ACTUALLY Illegal In Grand Theft Auto?/What's ACTUALLY Illegal In Grand Theft Auto? [qghzHrMJyn8].mp4", "id" => "qghzHrMJyn8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qghzHrMJyn8", "playlist_index" => 2, "timestamp" => 1765642423, "title" => "What's ACTUALLY Illegal In Grand Theft Auto?", "upload_date" => "20251213"} 17:48:23.283 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1397.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:48:23.284 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1398.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:23.286 [debug] QUERY OK source="media_items" db=1.8ms idle=1399.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-13 16:13:43Z], 5] 17:48:23.290 [debug] QUERY OK source="media_items" db=2.9ms idle=1048.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Download Idle Slayer for free! https://idleslayer.com/play?ref=AnyAustin\nAvailable on Android, iOS and Steam. \n\nThis video reverse-engineers GTA V’s hidden legal system by testing 20+ “crimes” in front of cops to figure out which actions the game actually treats as illegal, how harshly they’re punished (via stars), and what that says about Los Santos’s priorities (civilians vs property vs police vs infrastructure).\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "What's ACTUALLY Illegal In Grand Theft Auto?", "4e20f15b-fca1-4a1f-b5fe-f51544f01df3", 1107, false, "qghzHrMJyn8", "https://www.youtube.com/watch?v=qghzHrMJyn8", 2, "/downloads/Any Austin/What's ACTUALLY Illegal In Grand Theft Auto?/What's ACTUALLY Illegal In Grand Theft Auto? [qghzHrMJyn8].mp4", false, false, false, 5, [], 98, ~U[2025-12-13 16:13:43Z], ~U[2026-02-16 17:48:23Z], ~U[2026-02-16 17:48:23Z], "Download Idle Slayer for free! https://idleslayer.com/play?ref=AnyAustin\nAvailable on Android, iOS and Steam. \n\nThis video reverse-engineers GTA V’s hidden legal system by testing 20+ “crimes” in front of cops to figure out which actions the game actually treats as illegal, how harshly they’re punished (via stars), and what that says about Los Santos’s priorities (civilians vs property vs police vs infrastructure).\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "What's ACTUALLY Illegal In Grand Theft Auto?", 1107, false, "qghzHrMJyn8", "https://www.youtube.com/watch?v=qghzHrMJyn8", "/downloads/Any Austin/What's ACTUALLY Illegal In Grand Theft Auto?/What's ACTUALLY Illegal In Grand Theft Auto? [qghzHrMJyn8].mp4", false, 5, ~U[2025-12-13 16:13:43Z]] 17:48:23.292 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=50.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:23.293 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=8.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:48:23.294 [debug] QUERY OK source="media_items" db=0.8ms idle=9.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1986] 17:48:23.295 [debug] Current batch of media processed. Will check again in 1000ms 17:48:24.296 [debug] Current batch of media processed. Will check again in 1000ms 17:48:25.297 [debug] Current batch of media processed. Will check again in 1000ms 17:48:26.298 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Use code ANYAUSTINFB50 to get 50% OFF your first Factor box plus “FB” (free breakfast) for 1 year at\u00A0https://bit.ly/4ld7o7G !\n\n#reddeadredemption2 #rdr2 #rockstar #census \n\nIn this video, we'll be conducting a census of the NPCs in the town of Valentine, in Red Dead Redemption 2. The census will include employment status, employment industry, income level, age, and overall health, and the goal of the video will be to gather enough data about the people living here to do a demographic comparison between Valentine (fiction town from 1907) to real census and demographic data from 1907 frontier America.\n\nA lot of the video will be spent trying, with various degrees of success, to come up with a methodology for surveying a bunch of video game characters that can't talk, and aren't even persistent, so there will be a bit of discussion about sampling methods used by real scientists, and we'll demonstrate those methods using Valentine.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "duration" => 1362, "filename" => "/downloads/Any Austin/Can You Conduct A Census In Red Dead Redemption 2?/Can You Conduct A Census In Red Dead Redemption 2? [adlVvaRsa54].mp4", "id" => "adlVvaRsa54", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=adlVvaRsa54", "playlist_index" => 3, "timestamp" => 1765084846, "title" => "Can You Conduct A Census In Red Dead Redemption 2?", "upload_date" => "20251207"} 17:48:26.299 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1414.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:48:26.301 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1415.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:26.303 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=1416.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-07 05:20:46Z], 5] 17:48:26.307 [debug] QUERY OK source="media_items" db=3.0ms idle=1053.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code ANYAUSTINFB50 to get 50% OFF your first Factor box plus “FB” (free breakfast) for 1 year at\u00A0https://bit.ly/4ld7o7G !\n\n#reddeadredemption2 #rdr2 #rockstar #census \n\nIn this video, we'll be conducting a census of the NPCs in the town of Valentine, in Red Dead Redemption 2. The census will include employment status, employment industry, income level, age, and overall health, and the goal of the video will be to gather enough data about the people living here to do a demographic comparison between Valentine (fiction town from 1907) to real census and demographic data from 1907 frontier America.\n\nA lot of the video will be spent trying, with various degrees of success, to come up with a methodology for surveying a bunch of video game characters that can't talk, and aren't even persistent, so there will be a bit of discussion about sampling methods used by real scientists, and we'll demonstrate those methods using Valentine.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Can You Conduct A Census In Red Dead Redemption 2?", "57590435-1929-4c06-8e76-7409855317bf", 1362, false, "adlVvaRsa54", "https://www.youtube.com/watch?v=adlVvaRsa54", 3, "/downloads/Any Austin/Can You Conduct A Census In Red Dead Redemption 2?/Can You Conduct A Census In Red Dead Redemption 2? [adlVvaRsa54].mp4", false, false, false, 5, [], 98, ~U[2025-12-07 05:20:46Z], ~U[2026-02-16 17:48:26Z], ~U[2026-02-16 17:48:26Z], "Use code ANYAUSTINFB50 to get 50% OFF your first Factor box plus “FB” (free breakfast) for 1 year at\u00A0https://bit.ly/4ld7o7G !\n\n#reddeadredemption2 #rdr2 #rockstar #census \n\nIn this video, we'll be conducting a census of the NPCs in the town of Valentine, in Red Dead Redemption 2. The census will include employment status, employment industry, income level, age, and overall health, and the goal of the video will be to gather enough data about the people living here to do a demographic comparison between Valentine (fiction town from 1907) to real census and demographic data from 1907 frontier America.\n\nA lot of the video will be spent trying, with various degrees of success, to come up with a methodology for surveying a bunch of video game characters that can't talk, and aren't even persistent, so there will be a bit of discussion about sampling methods used by real scientists, and we'll demonstrate those methods using Valentine.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Can You Conduct A Census In Red Dead Redemption 2?", 1362, false, "adlVvaRsa54", "https://www.youtube.com/watch?v=adlVvaRsa54", "/downloads/Any Austin/Can You Conduct A Census In Red Dead Redemption 2?/Can You Conduct A Census In Red Dead Redemption 2? [adlVvaRsa54].mp4", false, 5, ~U[2025-12-07 05:20:46Z]] 17:48:26.309 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=54.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:26.310 [debug] QUERY OK source="media_profiles" db=0.5ms idle=9.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:48:26.311 [debug] QUERY OK source="media_items" db=0.7ms idle=9.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1988] 17:48:26.311 [debug] Current batch of media processed. Will check again in 1000ms 17:48:27.312 [debug] Current batch of media processed. Will check again in 1000ms 17:48:28.313 [debug] Current batch of media processed. Will check again in 1000ms 17:48:29.314 [debug] Current batch of media processed. Will check again in 1000ms 17:48:30.315 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Knock out all your holiday gifting needs today with deals up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin.\n\n#cyberpunk2077 #cdprojektred #challenge \n\nThis will be a video exploring what life might be like for your average, working-class person in the city of Night City from Cyberpunk 2077. The first portion of the video will be a rundown on where we might live, work, eat, and relax. The second portion (most of it) will be a summary of a livestream where I \"lived\" in Cyberpink 2077 for \"seven days\", which worked out to be 21 hours of real time.\n\nThe focus of the video will mostly be on the monotony of daily living, and the surprising ways in which doing a challenge like this created moments of empathy, nostalgia, frustration, and immersion in a relatively short amount of time.\n\n================\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "duration" => 2478, "filename" => "/downloads/Any Austin/Can You Live a Normal Life in Cyberpunk 2077?/Can You Live a Normal Life in Cyberpunk 2077? [iu5Yfv7fZHk].mp4", "id" => "iu5Yfv7fZHk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iu5Yfv7fZHk", "playlist_index" => 4, "timestamp" => 1764474274, "title" => "Can You Live a Normal Life in Cyberpunk 2077?", "upload_date" => "20251130"} 17:48:30.316 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=430.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:48:30.318 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=432.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:30.320 [debug] QUERY OK source="media_items" db=1.7ms queue=0.2ms idle=433.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-30 03:44:34Z], 5] 17:48:30.322 [debug] QUERY OK source="media_items" db=1.2ms idle=435.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Knock out all your holiday gifting needs today with deals up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin.\n\n#cyberpunk2077 #cdprojektred #challenge \n\nThis will be a video exploring what life might be like for your average, working-class person in the city of Night City from Cyberpunk 2077. The first portion of the video will be a rundown on where we might live, work, eat, and relax. The second portion (most of it) will be a summary of a livestream where I \"lived\" in Cyberpink 2077 for \"seven days\", which worked out to be 21 hours of real time.\n\nThe focus of the video will mostly be on the monotony of daily living, and the surprising ways in which doing a challenge like this created moments of empathy, nostalgia, frustration, and immersion in a relatively short amount of time.\n\n================\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Can You Live a Normal Life in Cyberpunk 2077?", "99f527df-ec7d-4c84-9061-8e7b0662420c", 2478, false, "iu5Yfv7fZHk", "https://www.youtube.com/watch?v=iu5Yfv7fZHk", 4, "/downloads/Any Austin/Can You Live a Normal Life in Cyberpunk 2077?/Can You Live a Normal Life in Cyberpunk 2077? [iu5Yfv7fZHk].mp4", false, false, false, 5, [], 98, ~U[2025-11-30 03:44:34Z], ~U[2026-02-16 17:48:30Z], ~U[2026-02-16 17:48:30Z], "Knock out all your holiday gifting needs today with deals up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin.\n\n#cyberpunk2077 #cdprojektred #challenge \n\nThis will be a video exploring what life might be like for your average, working-class person in the city of Night City from Cyberpunk 2077. The first portion of the video will be a rundown on where we might live, work, eat, and relax. The second portion (most of it) will be a summary of a livestream where I \"lived\" in Cyberpink 2077 for \"seven days\", which worked out to be 21 hours of real time.\n\nThe focus of the video will mostly be on the monotony of daily living, and the surprising ways in which doing a challenge like this created moments of empathy, nostalgia, frustration, and immersion in a relatively short amount of time.\n\n================\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Can You Live a Normal Life in Cyberpunk 2077?", 2478, false, "iu5Yfv7fZHk", "https://www.youtube.com/watch?v=iu5Yfv7fZHk", "/downloads/Any Austin/Can You Live a Normal Life in Cyberpunk 2077?/Can You Live a Normal Life in Cyberpunk 2077? [iu5Yfv7fZHk].mp4", false, 5, ~U[2025-11-30 03:44:34Z]] 17:48:30.323 [debug] QUERY OK source="sources" db=0.6ms idle=61.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:30.323 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:48:30.324 [debug] QUERY OK source="media_items" db=0.4ms idle=5.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1990] 17:48:30.324 [debug] Current batch of media processed. Will check again in 1000ms 17:48:31.325 [debug] Current batch of media processed. Will check again in 1000ms 17:48:32.326 [debug] Current batch of media processed. Will check again in 1000ms 17:48:33.327 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Use code ANYAUSTINFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/4ld7o7G!\n\n#gta #vicecity We love GTA vice cityyyyyyy\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "duration" => 1406, "filename" => "/downloads/Any Austin/The Two Sides of Grand Theft Auto: Vice City/The Two Sides of Grand Theft Auto: Vice City [CyiMLkHJ3Dg].mp4", "id" => "CyiMLkHJ3Dg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CyiMLkHJ3Dg", "playlist_index" => 5, "timestamp" => 1763532174, "title" => "The Two Sides of Grand Theft Auto: Vice City", "upload_date" => "20251119"} 17:48:33.329 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1443.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:48:33.330 [debug] QUERY OK source="sources" db=0.4ms idle=1444.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:33.332 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=1445.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-19 06:02:54Z], 5] 17:48:33.337 [debug] QUERY OK source="media_items" db=2.8ms idle=1067.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code ANYAUSTINFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/4ld7o7G!\n\n#gta #vicecity We love GTA vice cityyyyyyy\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "The Two Sides of Grand Theft Auto: Vice City", "578a94d3-9eb4-4b9b-a614-b051a06c6ee1", 1406, false, "CyiMLkHJ3Dg", "https://www.youtube.com/watch?v=CyiMLkHJ3Dg", 5, "/downloads/Any Austin/The Two Sides of Grand Theft Auto: Vice City/The Two Sides of Grand Theft Auto: Vice City [CyiMLkHJ3Dg].mp4", false, false, false, 5, [], 98, ~U[2025-11-19 06:02:54Z], ~U[2026-02-16 17:48:33Z], ~U[2026-02-16 17:48:33Z], "Use code ANYAUSTINFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/4ld7o7G!\n\n#gta #vicecity We love GTA vice cityyyyyyy\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "The Two Sides of Grand Theft Auto: Vice City", 1406, false, "CyiMLkHJ3Dg", "https://www.youtube.com/watch?v=CyiMLkHJ3Dg", "/downloads/Any Austin/The Two Sides of Grand Theft Auto: Vice City/The Two Sides of Grand Theft Auto: Vice City [CyiMLkHJ3Dg].mp4", false, 5, ~U[2025-11-19 06:02:54Z]] 17:48:33.338 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=68.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:33.339 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=9.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:48:33.340 [debug] QUERY OK source="media_items" db=0.8ms idle=9.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1992] 17:48:33.341 [debug] Current batch of media processed. Will check again in 1000ms 17:48:34.342 [debug] Current batch of media processed. Will check again in 1000ms 17:48:34.448 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:35.343 [debug] Current batch of media processed. Will check again in 1000ms 17:48:36.344 [debug] Current batch of media processed. Will check again in 1000ms 17:48:37.346 [debug] Current batch of media processed. Will check again in 1000ms 17:48:38.347 [debug] Current batch of media processed. Will check again in 1000ms 17:48:39.348 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "🔒 Get 20% off DeleteMe by going to https://joindeleteme.com/ANYAUSTIN and use code ANYAUSTIN to protect your privacy! 🔒\n\nwho up edging they skyrim with me\n\nMap icon art by Sadie Wiese: https://www.instagram.com/swiese.art\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "duration" => 1390, "filename" => "/downloads/Any Austin/What's On The Edge Of Skyrim?/What's On The Edge Of Skyrim? [ozqXdUbPdJY].mp4", "id" => "ozqXdUbPdJY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ozqXdUbPdJY", "playlist_index" => 6, "timestamp" => 1762580455, "title" => "What's On The Edge Of Skyrim?", "upload_date" => "20251108"} 17:48:39.348 [debug] QUERY OK source="sources" db=0.3ms idle=1069.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:48:39.349 [debug] QUERY OK source="sources" db=0.4ms idle=463.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:39.350 [debug] QUERY OK source="media_items" db=1.0ms idle=464.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-08 05:40:55Z], 5] 17:48:39.352 [debug] QUERY OK source="media_items" db=0.9ms idle=465.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🔒 Get 20% off DeleteMe by going to https://joindeleteme.com/ANYAUSTIN and use code ANYAUSTIN to protect your privacy! 🔒\n\nwho up edging they skyrim with me\n\nMap icon art by Sadie Wiese: https://www.instagram.com/swiese.art\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "What's On The Edge Of Skyrim?", "430a0388-68dd-416f-9876-449eb1d6cf26", 1390, false, "ozqXdUbPdJY", "https://www.youtube.com/watch?v=ozqXdUbPdJY", 6, "/downloads/Any Austin/What's On The Edge Of Skyrim?/What's On The Edge Of Skyrim? [ozqXdUbPdJY].mp4", false, false, false, 5, [], 98, ~U[2025-11-08 05:40:55Z], ~U[2026-02-16 17:48:39Z], ~U[2026-02-16 17:48:39Z], "🔒 Get 20% off DeleteMe by going to https://joindeleteme.com/ANYAUSTIN and use code ANYAUSTIN to protect your privacy! 🔒\n\nwho up edging they skyrim with me\n\nMap icon art by Sadie Wiese: https://www.instagram.com/swiese.art\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "What's On The Edge Of Skyrim?", 1390, false, "ozqXdUbPdJY", "https://www.youtube.com/watch?v=ozqXdUbPdJY", "/downloads/Any Austin/What's On The Edge Of Skyrim?/What's On The Edge Of Skyrim? [ozqXdUbPdJY].mp4", false, 5, ~U[2025-11-08 05:40:55Z]] 17:48:39.352 [debug] QUERY OK source="sources" db=0.3ms idle=72.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:39.353 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:48:39.353 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1995] 17:48:39.353 [debug] Current batch of media processed. Will check again in 1000ms 17:48:40.354 [debug] Current batch of media processed. Will check again in 1000ms 17:48:41.355 [debug] Current batch of media processed. Will check again in 1000ms 17:48:42.356 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get cozy and spooky for less with deals up to 50% off at\u00A0https://meundies.com/anyaustin and enter promo code ANYAUSTIN.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "duration" => 2018, "filename" => "/downloads/Any Austin/Are Grand Theft Auto's Airports Realistic?/Are Grand Theft Auto's Airports Realistic? [oxHBa3cseGA].mp4", "id" => "oxHBa3cseGA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oxHBa3cseGA", "playlist_index" => 7, "timestamp" => 1761850863, "title" => "Are Grand Theft Auto's Airports Realistic?", "upload_date" => "20251030"} 17:48:42.357 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1472.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:48:42.359 [debug] QUERY OK source="sources" db=0.9ms idle=1473.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:42.362 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=1474.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 19:01:03Z], 5] 17:48:42.366 [debug] QUERY OK source="media_items" db=3.1ms idle=1080.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get cozy and spooky for less with deals up to 50% off at\u00A0https://meundies.com/anyaustin and enter promo code ANYAUSTIN.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Are Grand Theft Auto's Airports Realistic?", "59196886-56f1-45e6-87d1-33477089648d", 2018, false, "oxHBa3cseGA", "https://www.youtube.com/watch?v=oxHBa3cseGA", 7, "/downloads/Any Austin/Are Grand Theft Auto's Airports Realistic?/Are Grand Theft Auto's Airports Realistic? [oxHBa3cseGA].mp4", false, false, false, 5, [], 98, ~U[2025-10-30 19:01:03Z], ~U[2026-02-16 17:48:42Z], ~U[2026-02-16 17:48:42Z], "Get cozy and spooky for less with deals up to 50% off at\u00A0https://meundies.com/anyaustin and enter promo code ANYAUSTIN.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Are Grand Theft Auto's Airports Realistic?", 2018, false, "oxHBa3cseGA", "https://www.youtube.com/watch?v=oxHBa3cseGA", "/downloads/Any Austin/Are Grand Theft Auto's Airports Realistic?/Are Grand Theft Auto's Airports Realistic? [oxHBa3cseGA].mp4", false, 5, ~U[2025-10-30 19:01:03Z]] 17:48:42.368 [debug] QUERY OK source="sources" db=1.5ms idle=82.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:42.370 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=11.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:48:42.371 [debug] QUERY OK source="media_items" db=0.8ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1997] 17:48:42.371 [debug] Current batch of media processed. Will check again in 1000ms 17:48:43.372 [debug] Current batch of media processed. Will check again in 1000ms 17:48:44.373 [debug] Current batch of media processed. Will check again in 1000ms 17:48:45.374 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Please use the code ANYAUSTINFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/4ld7o7G\n\n#thewitcher #thewitcher3 #hydrology #gaming #cdprojektred \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "duration" => 1273, "filename" => "/downloads/Any Austin/Are The Witcher 3's Rivers Realistic?/Are The Witcher 3's Rivers Realistic? [5QI5byXtxcQ].mp4", "id" => "5QI5byXtxcQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5QI5byXtxcQ", "playlist_index" => 8, "timestamp" => 1760757421, "title" => "Are The Witcher 3's Rivers Realistic?", "upload_date" => "20251018"} 17:48:45.375 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1489.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:48:45.377 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1491.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:45.379 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=1492.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-18 03:17:01Z], 5] 17:48:45.381 [debug] QUERY OK source="media_items" db=2.0ms idle=1090.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Please use the code ANYAUSTINFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/4ld7o7G\n\n#thewitcher #thewitcher3 #hydrology #gaming #cdprojektred \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Are The Witcher 3's Rivers Realistic?", "0cba224d-34c9-4258-8d16-5c57f25d3139", 1273, false, "5QI5byXtxcQ", "https://www.youtube.com/watch?v=5QI5byXtxcQ", 8, "/downloads/Any Austin/Are The Witcher 3's Rivers Realistic?/Are The Witcher 3's Rivers Realistic? [5QI5byXtxcQ].mp4", false, false, false, 5, [], 98, ~U[2025-10-18 03:17:01Z], ~U[2026-02-16 17:48:45Z], ~U[2026-02-16 17:48:45Z], "Please use the code ANYAUSTINFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/4ld7o7G\n\n#thewitcher #thewitcher3 #hydrology #gaming #cdprojektred \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Are The Witcher 3's Rivers Realistic?", 1273, false, "5QI5byXtxcQ", "https://www.youtube.com/watch?v=5QI5byXtxcQ", "/downloads/Any Austin/Are The Witcher 3's Rivers Realistic?/Are The Witcher 3's Rivers Realistic? [5QI5byXtxcQ].mp4", false, 5, ~U[2025-10-18 03:17:01Z]] 17:48:45.382 [debug] QUERY OK source="sources" db=0.3ms idle=92.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:45.383 [debug] QUERY OK source="media_profiles" db=0.5ms idle=6.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:48:45.384 [debug] QUERY OK source="media_items" db=0.3ms queue=0.3ms idle=6.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1998] 17:48:45.384 [debug] Current batch of media processed. Will check again in 1000ms 17:48:46.385 [debug] Current batch of media processed. Will check again in 1000ms 17:48:47.386 [debug] Current batch of media processed. Will check again in 1000ms 17:48:48.387 [debug] Current batch of media processed. Will check again in 1000ms 17:48:49.388 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get cozy AND spooky for less with deals up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nlittle map doodles by Sadie- https://www.instagram.com/swiese.art/\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "duration" => 1215, "filename" => "/downloads/Any Austin/Do Red Dead Redemption 2's Power Lines Connect to Anything?/Do Red Dead Redemption 2's Power Lines Connect to Anything? [mTtMCoJrGxk].mp4", "id" => "mTtMCoJrGxk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mTtMCoJrGxk", "playlist_index" => 9, "timestamp" => 1758940494, "title" => "Do Red Dead Redemption 2's Power Lines Connect to Anything?", "upload_date" => "20250927"} 17:48:49.389 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=503.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:48:49.391 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=504.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:49.394 [debug] QUERY OK source="media_items" db=2.6ms idle=506.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-27 02:34:54Z], 5] 17:48:49.398 [debug] QUERY OK source="media_items" db=3.0ms idle=509.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get cozy AND spooky for less with deals up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nlittle map doodles by Sadie- https://www.instagram.com/swiese.art/\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Do Red Dead Redemption 2's Power Lines Connect to Anything?", "a41b614f-5625-4b21-a2b2-c1329ff0ede4", 1215, false, "mTtMCoJrGxk", "https://www.youtube.com/watch?v=mTtMCoJrGxk", 9, "/downloads/Any Austin/Do Red Dead Redemption 2's Power Lines Connect to Anything?/Do Red Dead Redemption 2's Power Lines Connect to Anything? [mTtMCoJrGxk].mp4", false, false, false, 5, [], 98, ~U[2025-09-27 02:34:54Z], ~U[2026-02-16 17:48:49Z], ~U[2026-02-16 17:48:49Z], "Get cozy AND spooky for less with deals up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nlittle map doodles by Sadie- https://www.instagram.com/swiese.art/\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Do Red Dead Redemption 2's Power Lines Connect to Anything?", 1215, false, "mTtMCoJrGxk", "https://www.youtube.com/watch?v=mTtMCoJrGxk", "/downloads/Any Austin/Do Red Dead Redemption 2's Power Lines Connect to Anything?/Do Red Dead Redemption 2's Power Lines Connect to Anything? [mTtMCoJrGxk].mp4", false, 5, ~U[2025-09-27 02:34:54Z]] 17:48:49.400 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=101.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:49.401 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=10.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:48:49.404 [debug] QUERY OK source="media_items" db=1.3ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2000] 17:48:49.404 [debug] Current batch of media processed. Will check again in 1000ms 17:48:50.405 [debug] Current batch of media processed. Will check again in 1000ms 17:48:51.406 [debug] Current batch of media processed. Will check again in 1000ms 17:48:52.407 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Try Rocket Money for free: https://RocketMoney.com/anyaustin\n\n#grandtheftauto #gta3 #liminalspace #unremarkable #odd \n\nMap doodles by SADIE: https://www.instagram.com/swiese.art/\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "duration" => 1077, "filename" => "/downloads/Any Austin/The Forgotten Atmosphere of Grand Theft Auto 3/The Forgotten Atmosphere of Grand Theft Auto 3 [xvM4-H0Im7A].mp4", "id" => "xvM4-H0Im7A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xvM4-H0Im7A", "playlist_index" => 10, "timestamp" => 1757977491, "title" => "The Forgotten Atmosphere of Grand Theft Auto 3", "upload_date" => "20250915"} 17:48:52.407 [debug] QUERY OK source="sources" db=0.2ms idle=1522.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:48:52.408 [debug] QUERY OK source="sources" db=0.1ms idle=1522.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:52.409 [debug] QUERY OK source="media_items" db=0.9ms idle=1523.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-15 23:04:51Z], 5] 17:48:52.411 [debug] QUERY OK source="media_items" db=2.0ms idle=1110.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Try Rocket Money for free: https://RocketMoney.com/anyaustin\n\n#grandtheftauto #gta3 #liminalspace #unremarkable #odd \n\nMap doodles by SADIE: https://www.instagram.com/swiese.art/\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "The Forgotten Atmosphere of Grand Theft Auto 3", "08057dc3-6bef-4ffa-a76b-4af07cc2f2bc", 1077, false, "xvM4-H0Im7A", "https://www.youtube.com/watch?v=xvM4-H0Im7A", 10, "/downloads/Any Austin/The Forgotten Atmosphere of Grand Theft Auto 3/The Forgotten Atmosphere of Grand Theft Auto 3 [xvM4-H0Im7A].mp4", false, false, false, 5, [], 98, ~U[2025-09-15 23:04:51Z], ~U[2026-02-16 17:48:52Z], ~U[2026-02-16 17:48:52Z], "Try Rocket Money for free: https://RocketMoney.com/anyaustin\n\n#grandtheftauto #gta3 #liminalspace #unremarkable #odd \n\nMap doodles by SADIE: https://www.instagram.com/swiese.art/\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "The Forgotten Atmosphere of Grand Theft Auto 3", 1077, false, "xvM4-H0Im7A", "https://www.youtube.com/watch?v=xvM4-H0Im7A", "/downloads/Any Austin/The Forgotten Atmosphere of Grand Theft Auto 3/The Forgotten Atmosphere of Grand Theft Auto 3 [xvM4-H0Im7A].mp4", false, 5, ~U[2025-09-15 23:04:51Z]] 17:48:52.412 [debug] QUERY OK source="sources" db=0.2ms idle=111.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:52.412 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:48:52.413 [debug] QUERY OK source="media_items" db=0.4ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2002] 17:48:52.413 [debug] Current batch of media processed. Will check again in 1000ms 17:48:53.414 [debug] Current batch of media processed. Will check again in 1000ms 17:48:54.415 [debug] Current batch of media processed. Will check again in 1000ms 17:48:55.416 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Score sizzling summer deals like up to 50% off at https://www.MeUndies.com/anyaustin -- PROMO CODE: ANYAUSTIN\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "duration" => 1072, "filename" => "/downloads/Any Austin/New Vegas has a 0% unemployment rate/New Vegas has a 0% unemployment rate [FxqrVoec20U].mp4", "id" => "FxqrVoec20U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FxqrVoec20U", "playlist_index" => 11, "timestamp" => 1756142411, "title" => "New Vegas has a 0% unemployment rate", "upload_date" => "20250825"} 17:48:55.417 [debug] QUERY OK source="sources" db=0.3ms idle=1531.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:48:55.417 [debug] QUERY OK source="sources" db=0.5ms idle=1532.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:55.419 [debug] QUERY OK source="media_items" db=1.1ms idle=1532.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-25 17:20:11Z], 5] 17:48:55.421 [debug] QUERY OK source="media_items" db=1.3ms idle=1116.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Score sizzling summer deals like up to 50% off at https://www.MeUndies.com/anyaustin -- PROMO CODE: ANYAUSTIN\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "New Vegas has a 0% unemployment rate", "d5ffa876-ead4-42c7-a2e4-d5badce46e2d", 1072, false, "FxqrVoec20U", "https://www.youtube.com/watch?v=FxqrVoec20U", 11, "/downloads/Any Austin/New Vegas has a 0% unemployment rate/New Vegas has a 0% unemployment rate [FxqrVoec20U].mp4", false, false, false, 5, [], 98, ~U[2025-08-25 17:20:11Z], ~U[2026-02-16 17:48:55Z], ~U[2026-02-16 17:48:55Z], "Score sizzling summer deals like up to 50% off at https://www.MeUndies.com/anyaustin -- PROMO CODE: ANYAUSTIN\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "New Vegas has a 0% unemployment rate", 1072, false, "FxqrVoec20U", "https://www.youtube.com/watch?v=FxqrVoec20U", "/downloads/Any Austin/New Vegas has a 0% unemployment rate/New Vegas has a 0% unemployment rate [FxqrVoec20U].mp4", false, 5, ~U[2025-08-25 17:20:11Z]] 17:48:55.421 [debug] QUERY OK source="sources" db=0.6ms idle=116.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:55.422 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 17:48:55.423 [debug] QUERY OK source="media_items" db=0.4ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2005] 17:48:55.423 [debug] Current batch of media processed. Will check again in 1000ms 17:48:56.424 [debug] Current batch of media processed. Will check again in 1000ms 17:48:57.425 [debug] Current batch of media processed. Will check again in 1000ms 17:48:58.426 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "BUDGET TIME! Try Rocket Money for free: https://RocketMoney.com/anyaustin\n\nLEGAL EAGLE CHANNEL: @LegalEagle \nHire Timon for your tech needs: https://diodes-delight.com\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "duration" => 1372, "filename" => "/downloads/Any Austin/Do GTA5's Street Signs Comply With California Law?/Do GTA5's Street Signs Comply With California Law? [hEGYRbiVk3Y].mp4", "id" => "hEGYRbiVk3Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hEGYRbiVk3Y", "playlist_index" => 12, "timestamp" => 1755287922, "title" => "Do GTA5's Street Signs Comply With California Law?", "upload_date" => "20250815"} 17:48:58.426 [debug] QUERY OK source="sources" db=0.1ms idle=1541.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:48:58.427 [debug] QUERY OK source="sources" db=0.1ms idle=1541.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:58.428 [debug] QUERY OK source="media_items" db=0.8ms idle=1542.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-15 19:58:42Z], 5] 17:48:58.429 [debug] QUERY OK source="media_items" db=0.9ms idle=1118.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["BUDGET TIME! Try Rocket Money for free: https://RocketMoney.com/anyaustin\n\nLEGAL EAGLE CHANNEL: @LegalEagle \nHire Timon for your tech needs: https://diodes-delight.com\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Do GTA5's Street Signs Comply With California Law?", "11b5badf-6f10-4189-8d1d-6e077611eb52", 1372, false, "hEGYRbiVk3Y", "https://www.youtube.com/watch?v=hEGYRbiVk3Y", 12, "/downloads/Any Austin/Do GTA5's Street Signs Comply With California Law?/Do GTA5's Street Signs Comply With California Law? [hEGYRbiVk3Y].mp4", false, false, false, 5, [], 98, ~U[2025-08-15 19:58:42Z], ~U[2026-02-16 17:48:58Z], ~U[2026-02-16 17:48:58Z], "BUDGET TIME! Try Rocket Money for free: https://RocketMoney.com/anyaustin\n\nLEGAL EAGLE CHANNEL: @LegalEagle \nHire Timon for your tech needs: https://diodes-delight.com\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Do GTA5's Street Signs Comply With California Law?", 1372, false, "hEGYRbiVk3Y", "https://www.youtube.com/watch?v=hEGYRbiVk3Y", "/downloads/Any Austin/Do GTA5's Street Signs Comply With California Law?/Do GTA5's Street Signs Comply With California Law? [hEGYRbiVk3Y].mp4", false, 5, ~U[2025-08-15 19:58:42Z]] 17:48:58.430 [debug] QUERY OK source="sources" db=0.6ms idle=118.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:48:58.431 [debug] QUERY OK source="media_profiles" db=0.6ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:48:58.432 [debug] QUERY OK source="media_items" db=0.6ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2007] 17:48:58.432 [debug] Current batch of media processed. Will check again in 1000ms 17:48:59.433 [debug] Current batch of media processed. Will check again in 1000ms 17:49:00.434 [debug] Current batch of media processed. Will check again in 1000ms 17:49:00.626 [info] {"source":"oban","duration":281,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:49:01.435 [debug] Current batch of media processed. Will check again in 1000ms 17:49:02.436 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "HEY: Score sizzling summer deals like up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin. You already know.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "duration" => 1112, "filename" => "/downloads/Any Austin/I Tried to Make Sense of Cyberpunk 2077’s Water System/I Tried to Make Sense of Cyberpunk 2077’s Water System [RtXA1Wl3jHs].mp4", "id" => "RtXA1Wl3jHs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RtXA1Wl3jHs", "playlist_index" => 13, "timestamp" => 1752899327, "title" => "I Tried to Make Sense of Cyberpunk 2077’s Water System", "upload_date" => "20250719"} 17:49:02.436 [debug] QUERY OK source="sources" db=0.2ms idle=551.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:49:02.437 [debug] QUERY OK source="sources" db=0.3ms idle=551.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:02.438 [debug] QUERY OK source="media_items" db=1.0ms idle=552.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-19 04:28:47Z], 5] 17:49:02.439 [debug] QUERY OK source="media_items" db=1.0ms idle=553.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["HEY: Score sizzling summer deals like up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin. You already know.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "I Tried to Make Sense of Cyberpunk 2077’s Water System", "efc79703-9036-4256-b804-f1c8eb8e25e7", 1112, false, "RtXA1Wl3jHs", "https://www.youtube.com/watch?v=RtXA1Wl3jHs", 13, "/downloads/Any Austin/I Tried to Make Sense of Cyberpunk 2077’s Water System/I Tried to Make Sense of Cyberpunk 2077’s Water System [RtXA1Wl3jHs].mp4", false, false, false, 5, [], 98, ~U[2025-07-19 04:28:47Z], ~U[2026-02-16 17:49:02Z], ~U[2026-02-16 17:49:02Z], "HEY: Score sizzling summer deals like up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin. You already know.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "I Tried to Make Sense of Cyberpunk 2077’s Water System", 1112, false, "RtXA1Wl3jHs", "https://www.youtube.com/watch?v=RtXA1Wl3jHs", "/downloads/Any Austin/I Tried to Make Sense of Cyberpunk 2077’s Water System/I Tried to Make Sense of Cyberpunk 2077’s Water System [RtXA1Wl3jHs].mp4", false, 5, ~U[2025-07-19 04:28:47Z]] 17:49:02.440 [debug] QUERY OK source="sources" db=0.5ms idle=122.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:02.441 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:49:02.441 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2009] 17:49:02.441 [debug] Current batch of media processed. Will check again in 1000ms 17:49:03.443 [debug] Current batch of media processed. Will check again in 1000ms 17:49:04.444 [debug] Current batch of media processed. Will check again in 1000ms 17:49:04.449 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:05.445 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Use code 50ANYAUSTIN to get 50% OFF plus free shipping on your first Factor box at https://bit.ly/4dIBz33!\n\nLittle drawings done by Sadie Wiese: https://www.instagram.com/swiese.art/\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "duration" => 1394, "filename" => "/downloads/Any Austin/Weird Little Places in Mario Kart World/Weird Little Places in Mario Kart World [QCivB0awtdw].mp4", "id" => "QCivB0awtdw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QCivB0awtdw", "playlist_index" => 14, "timestamp" => 1751168388, "title" => "Weird Little Places in Mario Kart World", "upload_date" => "20250629"} 17:49:05.446 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1560.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:49:05.447 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1562.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:05.450 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=1128.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-29 03:39:48Z], 5] 17:49:05.454 [debug] QUERY OK source="media_items" db=2.5ms idle=1001.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code 50ANYAUSTIN to get 50% OFF plus free shipping on your first Factor box at https://bit.ly/4dIBz33!\n\nLittle drawings done by Sadie Wiese: https://www.instagram.com/swiese.art/\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Weird Little Places in Mario Kart World", "6881f3ae-7974-4921-9a71-5e692d64a6e5", 1394, false, "QCivB0awtdw", "https://www.youtube.com/watch?v=QCivB0awtdw", 14, "/downloads/Any Austin/Weird Little Places in Mario Kart World/Weird Little Places in Mario Kart World [QCivB0awtdw].mp4", false, false, false, 5, [], 98, ~U[2025-06-29 03:39:48Z], ~U[2026-02-16 17:49:05Z], ~U[2026-02-16 17:49:05Z], "Use code 50ANYAUSTIN to get 50% OFF plus free shipping on your first Factor box at https://bit.ly/4dIBz33!\n\nLittle drawings done by Sadie Wiese: https://www.instagram.com/swiese.art/\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Weird Little Places in Mario Kart World", 1394, false, "QCivB0awtdw", "https://www.youtube.com/watch?v=QCivB0awtdw", "/downloads/Any Austin/Weird Little Places in Mario Kart World/Weird Little Places in Mario Kart World [QCivB0awtdw].mp4", false, 5, ~U[2025-06-29 03:39:48Z]] 17:49:05.455 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=132.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:05.456 [debug] QUERY OK source="media_profiles" db=0.7ms idle=8.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:49:05.458 [debug] QUERY OK source="media_items" db=0.8ms idle=9.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2011] 17:49:05.458 [debug] Current batch of media processed. Will check again in 1000ms 17:49:06.459 [debug] Current batch of media processed. Will check again in 1000ms 17:49:07.460 [debug] Current batch of media processed. Will check again in 1000ms 17:49:08.461 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Slide into game changing comfort with MeUndies. Support the show by going to https://MeUndies.com/anyaustin and using my code ANYAUSTIN to get 20% off your first order, plus free shipping.\n\nMap icons made by Sadie Wiese: https://www.instagram.com/swiese.art/\n\nThis is a video about unremarkable and odd places in Cyberpunk 2077.\n\n#cyberpunk2077 #unremarkable #odd #liminalspace #secret \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw", "duration" => 1229, "filename" => "/downloads/Any Austin/Places in Cyberpunk 2077 You Weren't Meant To Go/Places in Cyberpunk 2077 You Weren't Meant To Go [VMm4H453Km0].mp4", "id" => "VMm4H453Km0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VMm4H453Km0", "playlist_index" => 15, "timestamp" => 1749917097, "title" => "Places in Cyberpunk 2077 You Weren't Meant To Go", "upload_date" => "20250614"} 17:49:08.462 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1576.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:49:08.463 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1577.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:08.465 [debug] QUERY OK source="media_items" db=1.7ms idle=1578.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-14 16:04:57Z], 5] 17:49:08.467 [debug] QUERY OK source="media_items" db=1.1ms idle=1140.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Slide into game changing comfort with MeUndies. Support the show by going to https://MeUndies.com/anyaustin and using my code ANYAUSTIN to get 20% off your first order, plus free shipping.\n\nMap icons made by Sadie Wiese: https://www.instagram.com/swiese.art/\n\nThis is a video about unremarkable and odd places in Cyberpunk 2077.\n\n#cyberpunk2077 #unremarkable #odd #liminalspace #secret \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw", "Places in Cyberpunk 2077 You Weren't Meant To Go", "2bef95c1-540d-4f08-8f40-11b752f443f7", 1229, false, "VMm4H453Km0", "https://www.youtube.com/watch?v=VMm4H453Km0", 15, "/downloads/Any Austin/Places in Cyberpunk 2077 You Weren't Meant To Go/Places in Cyberpunk 2077 You Weren't Meant To Go [VMm4H453Km0].mp4", false, false, false, 5, [], 98, ~U[2025-06-14 16:04:57Z], ~U[2026-02-16 17:49:08Z], ~U[2026-02-16 17:49:08Z], "Slide into game changing comfort with MeUndies. Support the show by going to https://MeUndies.com/anyaustin and using my code ANYAUSTIN to get 20% off your first order, plus free shipping.\n\nMap icons made by Sadie Wiese: https://www.instagram.com/swiese.art/\n\nThis is a video about unremarkable and odd places in Cyberpunk 2077.\n\n#cyberpunk2077 #unremarkable #odd #liminalspace #secret \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw", "Places in Cyberpunk 2077 You Weren't Meant To Go", 1229, false, "VMm4H453Km0", "https://www.youtube.com/watch?v=VMm4H453Km0", "/downloads/Any Austin/Places in Cyberpunk 2077 You Weren't Meant To Go/Places in Cyberpunk 2077 You Weren't Meant To Go [VMm4H453Km0].mp4", false, 5, ~U[2025-06-14 16:04:57Z]] 17:49:08.467 [debug] QUERY OK source="sources" db=0.2ms idle=140.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:08.468 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:49:08.468 [debug] QUERY OK source="media_items" db=0.2ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2013] 17:49:08.468 [debug] Current batch of media processed. Will check again in 1000ms 17:49:09.469 [debug] Current batch of media processed. Will check again in 1000ms 17:49:10.470 [debug] Current batch of media processed. Will check again in 1000ms 17:49:11.471 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Slide into game changing comfort with MeUndies. Support the show by going to https://MeUndies.com/anyaustin and using my code \"anyaustin\" to get 20% off your first order, plus free shipping.\n\nYou guys like water? #windwakerhd #switch2 #gamecube #hydrology #education \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "duration" => 977, "filename" => "/downloads/Any Austin/Is Wind Waker's Water Drinkable?/Is Wind Waker's Water Drinkable? [gzEJ97fMvhA].mp4", "id" => "gzEJ97fMvhA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gzEJ97fMvhA", "playlist_index" => 16, "timestamp" => 1748715773, "title" => "Is Wind Waker's Water Drinkable?", "upload_date" => "20250531"} 17:49:11.472 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1585.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:49:11.474 [debug] QUERY OK source="sources" db=0.6ms idle=1586.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:11.476 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=1588.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-31 18:22:53Z], 5] 17:49:11.479 [debug] QUERY OK source="media_items" db=2.3ms idle=1148.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Slide into game changing comfort with MeUndies. Support the show by going to https://MeUndies.com/anyaustin and using my code \"anyaustin\" to get 20% off your first order, plus free shipping.\n\nYou guys like water? #windwakerhd #switch2 #gamecube #hydrology #education \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Is Wind Waker's Water Drinkable?", "2d412c80-6888-48ec-8c4f-33a424130e52", 977, false, "gzEJ97fMvhA", "https://www.youtube.com/watch?v=gzEJ97fMvhA", 16, "/downloads/Any Austin/Is Wind Waker's Water Drinkable?/Is Wind Waker's Water Drinkable? [gzEJ97fMvhA].mp4", false, false, false, 5, [], 98, ~U[2025-05-31 18:22:53Z], ~U[2026-02-16 17:49:11Z], ~U[2026-02-16 17:49:11Z], "Slide into game changing comfort with MeUndies. Support the show by going to https://MeUndies.com/anyaustin and using my code \"anyaustin\" to get 20% off your first order, plus free shipping.\n\nYou guys like water? #windwakerhd #switch2 #gamecube #hydrology #education \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Is Wind Waker's Water Drinkable?", 977, false, "gzEJ97fMvhA", "https://www.youtube.com/watch?v=gzEJ97fMvhA", "/downloads/Any Austin/Is Wind Waker's Water Drinkable?/Is Wind Waker's Water Drinkable? [gzEJ97fMvhA].mp4", false, 5, ~U[2025-05-31 18:22:53Z]] 17:49:11.480 [debug] QUERY OK source="sources" db=0.7ms idle=148.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:11.482 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:49:11.483 [debug] QUERY OK source="media_items" db=0.7ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2015] 17:49:11.483 [debug] Current batch of media processed. Will check again in 1000ms 17:49:12.484 [debug] Current batch of media processed. Will check again in 1000ms 17:49:13.485 [debug] Current batch of media processed. Will check again in 1000ms 17:49:14.486 [debug] Current batch of media processed. Will check again in 1000ms 17:49:14.775 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@any_austin --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Any Austin/%(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/71/1f/711f098d77c1c3836bcc01f5c0aed1ad0e6760cd74bcc51e8d2d65fd47c65584.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/aa/e9/aae9b697f87f85e0b7e9682ff0d4282dd3ae21694a58131755ec2f6079ad391b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 17:49:14.776 [debug] Gracefully stopping file follower 17:49:14.776 [debug] QUERY OK source="sources" db=0.6ms idle=1889.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 17:49:14.777 [debug] QUERY OK source="sources" db=0.3ms idle=1890.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.778 [debug] QUERY OK source="media_items" db=1.0ms idle=1891.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-19 17:01:45Z], 5] 17:49:14.780 [debug] QUERY OK source="media_items" db=1.2ms idle=1443.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["LAST ONE FOLKS: Knock out all your holiday gifting needs today with deals up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin.\n\n#skyrim #bethesda #forestry #trending \n\nI tried to figure out how many trees there are in Skyrim — without using mods or wikis. By walking the world, running real statistical surveys, and then checking the game files, I compared my guesses (and those of a bunch of other creators) to the actual number, with $10,000 going to charity for whoever came closest.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "How Many Trees Are There in Skyrim?", "40b538ae-1c8f-4159-8236-e95e1ed0d36a", 1485, false, "35yfu2wXmto", "https://www.youtube.com/watch?v=35yfu2wXmto", 1, "/downloads/Any Austin/How Many Trees Are There in Skyrim?/How Many Trees Are There in Skyrim? [35yfu2wXmto].mp4", false, false, false, 5, [], 98, ~U[2025-12-19 17:01:45Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "LAST ONE FOLKS: Knock out all your holiday gifting needs today with deals up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin.\n\n#skyrim #bethesda #forestry #trending \n\nI tried to figure out how many trees there are in Skyrim — without using mods or wikis. By walking the world, running real statistical surveys, and then checking the game files, I compared my guesses (and those of a bunch of other creators) to the actual number, with $10,000 going to charity for whoever came closest.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "How Many Trees Are There in Skyrim?", 1485, false, "35yfu2wXmto", "https://www.youtube.com/watch?v=35yfu2wXmto", "/downloads/Any Austin/How Many Trees Are There in Skyrim?/How Many Trees Are There in Skyrim? [35yfu2wXmto].mp4", false, 5, ~U[2025-12-19 17:01:45Z]] 17:49:14.780 [debug] QUERY OK source="sources" db=0.2ms idle=442.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.781 [debug] QUERY OK source="media_items" db=0.9ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-13 16:13:43Z], 5] 17:49:14.783 [debug] QUERY OK source="media_items" db=1.1ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Download Idle Slayer for free! https://idleslayer.com/play?ref=AnyAustin\nAvailable on Android, iOS and Steam. \n\nThis video reverse-engineers GTA V’s hidden legal system by testing 20+ “crimes” in front of cops to figure out which actions the game actually treats as illegal, how harshly they’re punished (via stars), and what that says about Los Santos’s priorities (civilians vs property vs police vs infrastructure).\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "What's ACTUALLY Illegal In Grand Theft Auto?", "8ce3fd96-eb51-4eff-95ea-e04ce4ce6925", 1107, false, "qghzHrMJyn8", "https://www.youtube.com/watch?v=qghzHrMJyn8", 2, "/downloads/Any Austin/What's ACTUALLY Illegal In Grand Theft Auto?/What's ACTUALLY Illegal In Grand Theft Auto? [qghzHrMJyn8].mp4", false, false, false, 5, [], 98, ~U[2025-12-13 16:13:43Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "Download Idle Slayer for free! https://idleslayer.com/play?ref=AnyAustin\nAvailable on Android, iOS and Steam. \n\nThis video reverse-engineers GTA V’s hidden legal system by testing 20+ “crimes” in front of cops to figure out which actions the game actually treats as illegal, how harshly they’re punished (via stars), and what that says about Los Santos’s priorities (civilians vs property vs police vs infrastructure).\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "What's ACTUALLY Illegal In Grand Theft Auto?", 1107, false, "qghzHrMJyn8", "https://www.youtube.com/watch?v=qghzHrMJyn8", "/downloads/Any Austin/What's ACTUALLY Illegal In Grand Theft Auto?/What's ACTUALLY Illegal In Grand Theft Auto? [qghzHrMJyn8].mp4", false, 5, ~U[2025-12-13 16:13:43Z]] 17:49:14.783 [debug] QUERY OK source="sources" db=0.2ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.785 [debug] QUERY OK source="media_items" db=0.9ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-07 05:20:46Z], 5] 17:49:14.786 [debug] QUERY OK source="media_items" db=1.3ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code ANYAUSTINFB50 to get 50% OFF your first Factor box plus “FB” (free breakfast) for 1 year at\u00A0https://bit.ly/4ld7o7G !\n\n#reddeadredemption2 #rdr2 #rockstar #census \n\nIn this video, we'll be conducting a census of the NPCs in the town of Valentine, in Red Dead Redemption 2. The census will include employment status, employment industry, income level, age, and overall health, and the goal of the video will be to gather enough data about the people living here to do a demographic comparison between Valentine (fiction town from 1907) to real census and demographic data from 1907 frontier America.\n\nA lot of the video will be spent trying, with various degrees of success, to come up with a methodology for surveying a bunch of video game characters that can't talk, and aren't even persistent, so there will be a bit of discussion about sampling methods used by real scientists, and we'll demonstrate those methods using Valentine.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Can You Conduct A Census In Red Dead Redemption 2?", "6a0a492d-7f6a-4728-8ad2-54842510df5c", 1362, false, "adlVvaRsa54", "https://www.youtube.com/watch?v=adlVvaRsa54", 3, "/downloads/Any Austin/Can You Conduct A Census In Red Dead Redemption 2?/Can You Conduct A Census In Red Dead Redemption 2? [adlVvaRsa54].mp4", false, false, false, 5, [], 98, ~U[2025-12-07 05:20:46Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "Use code ANYAUSTINFB50 to get 50% OFF your first Factor box plus “FB” (free breakfast) for 1 year at\u00A0https://bit.ly/4ld7o7G !\n\n#reddeadredemption2 #rdr2 #rockstar #census \n\nIn this video, we'll be conducting a census of the NPCs in the town of Valentine, in Red Dead Redemption 2. The census will include employment status, employment industry, income level, age, and overall health, and the goal of the video will be to gather enough data about the people living here to do a demographic comparison between Valentine (fiction town from 1907) to real census and demographic data from 1907 frontier America.\n\nA lot of the video will be spent trying, with various degrees of success, to come up with a methodology for surveying a bunch of video game characters that can't talk, and aren't even persistent, so there will be a bit of discussion about sampling methods used by real scientists, and we'll demonstrate those methods using Valentine.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Can You Conduct A Census In Red Dead Redemption 2?", 1362, false, "adlVvaRsa54", "https://www.youtube.com/watch?v=adlVvaRsa54", "/downloads/Any Austin/Can You Conduct A Census In Red Dead Redemption 2?/Can You Conduct A Census In Red Dead Redemption 2? [adlVvaRsa54].mp4", false, 5, ~U[2025-12-07 05:20:46Z]] 17:49:14.787 [debug] QUERY OK source="sources" db=0.2ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.788 [debug] QUERY OK source="media_items" db=0.9ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-30 03:44:34Z], 5] 17:49:14.790 [debug] QUERY OK source="media_items" db=1.2ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Knock out all your holiday gifting needs today with deals up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin.\n\n#cyberpunk2077 #cdprojektred #challenge \n\nThis will be a video exploring what life might be like for your average, working-class person in the city of Night City from Cyberpunk 2077. The first portion of the video will be a rundown on where we might live, work, eat, and relax. The second portion (most of it) will be a summary of a livestream where I \"lived\" in Cyberpink 2077 for \"seven days\", which worked out to be 21 hours of real time.\n\nThe focus of the video will mostly be on the monotony of daily living, and the surprising ways in which doing a challenge like this created moments of empathy, nostalgia, frustration, and immersion in a relatively short amount of time.\n\n================\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Can You Live a Normal Life in Cyberpunk 2077?", "5836fd61-af1d-498a-91a8-137880a23bf2", 2478, false, "iu5Yfv7fZHk", "https://www.youtube.com/watch?v=iu5Yfv7fZHk", 4, "/downloads/Any Austin/Can You Live a Normal Life in Cyberpunk 2077?/Can You Live a Normal Life in Cyberpunk 2077? [iu5Yfv7fZHk].mp4", false, false, false, 5, [], 98, ~U[2025-11-30 03:44:34Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "Knock out all your holiday gifting needs today with deals up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin.\n\n#cyberpunk2077 #cdprojektred #challenge \n\nThis will be a video exploring what life might be like for your average, working-class person in the city of Night City from Cyberpunk 2077. The first portion of the video will be a rundown on where we might live, work, eat, and relax. The second portion (most of it) will be a summary of a livestream where I \"lived\" in Cyberpink 2077 for \"seven days\", which worked out to be 21 hours of real time.\n\nThe focus of the video will mostly be on the monotony of daily living, and the surprising ways in which doing a challenge like this created moments of empathy, nostalgia, frustration, and immersion in a relatively short amount of time.\n\n================\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Can You Live a Normal Life in Cyberpunk 2077?", 2478, false, "iu5Yfv7fZHk", "https://www.youtube.com/watch?v=iu5Yfv7fZHk", "/downloads/Any Austin/Can You Live a Normal Life in Cyberpunk 2077?/Can You Live a Normal Life in Cyberpunk 2077? [iu5Yfv7fZHk].mp4", false, 5, ~U[2025-11-30 03:44:34Z]] 17:49:14.790 [debug] QUERY OK source="sources" db=0.2ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.791 [debug] QUERY OK source="media_items" db=0.8ms idle=4.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-19 06:02:54Z], 5] 17:49:14.793 [debug] QUERY OK source="media_items" db=0.9ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code ANYAUSTINFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/4ld7o7G!\n\n#gta #vicecity We love GTA vice cityyyyyyy\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "The Two Sides of Grand Theft Auto: Vice City", "477e10b7-183d-454e-b9fd-73abccacc80a", 1406, false, "CyiMLkHJ3Dg", "https://www.youtube.com/watch?v=CyiMLkHJ3Dg", 5, "/downloads/Any Austin/The Two Sides of Grand Theft Auto: Vice City/The Two Sides of Grand Theft Auto: Vice City [CyiMLkHJ3Dg].mp4", false, false, false, 5, [], 98, ~U[2025-11-19 06:02:54Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "Use code ANYAUSTINFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/4ld7o7G!\n\n#gta #vicecity We love GTA vice cityyyyyyy\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "The Two Sides of Grand Theft Auto: Vice City", 1406, false, "CyiMLkHJ3Dg", "https://www.youtube.com/watch?v=CyiMLkHJ3Dg", "/downloads/Any Austin/The Two Sides of Grand Theft Auto: Vice City/The Two Sides of Grand Theft Auto: Vice City [CyiMLkHJ3Dg].mp4", false, 5, ~U[2025-11-19 06:02:54Z]] 17:49:14.793 [debug] QUERY OK source="sources" db=0.2ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.794 [debug] QUERY OK source="media_items" db=0.8ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-08 05:40:55Z], 5] 17:49:14.796 [debug] QUERY OK source="media_items" db=0.8ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🔒 Get 20% off DeleteMe by going to https://joindeleteme.com/ANYAUSTIN and use code ANYAUSTIN to protect your privacy! 🔒\n\nwho up edging they skyrim with me\n\nMap icon art by Sadie Wiese: https://www.instagram.com/swiese.art\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "What's On The Edge Of Skyrim?", "13f5439d-dc0a-4a7e-9bce-8ffb646cf281", 1390, false, "ozqXdUbPdJY", "https://www.youtube.com/watch?v=ozqXdUbPdJY", 6, "/downloads/Any Austin/What's On The Edge Of Skyrim?/What's On The Edge Of Skyrim? [ozqXdUbPdJY].mp4", false, false, false, 5, [], 98, ~U[2025-11-08 05:40:55Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "🔒 Get 20% off DeleteMe by going to https://joindeleteme.com/ANYAUSTIN and use code ANYAUSTIN to protect your privacy! 🔒\n\nwho up edging they skyrim with me\n\nMap icon art by Sadie Wiese: https://www.instagram.com/swiese.art\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "What's On The Edge Of Skyrim?", 1390, false, "ozqXdUbPdJY", "https://www.youtube.com/watch?v=ozqXdUbPdJY", "/downloads/Any Austin/What's On The Edge Of Skyrim?/What's On The Edge Of Skyrim? [ozqXdUbPdJY].mp4", false, 5, ~U[2025-11-08 05:40:55Z]] 17:49:14.796 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.797 [debug] QUERY OK source="media_items" db=0.8ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 19:01:03Z], 5] 17:49:14.798 [debug] QUERY OK source="media_items" db=0.8ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get cozy and spooky for less with deals up to 50% off at\u00A0https://meundies.com/anyaustin and enter promo code ANYAUSTIN.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Are Grand Theft Auto's Airports Realistic?", "42da29dc-3015-4715-ac1f-51b53734a531", 2018, false, "oxHBa3cseGA", "https://www.youtube.com/watch?v=oxHBa3cseGA", 7, "/downloads/Any Austin/Are Grand Theft Auto's Airports Realistic?/Are Grand Theft Auto's Airports Realistic? [oxHBa3cseGA].mp4", false, false, false, 5, [], 98, ~U[2025-10-30 19:01:03Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "Get cozy and spooky for less with deals up to 50% off at\u00A0https://meundies.com/anyaustin and enter promo code ANYAUSTIN.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Are Grand Theft Auto's Airports Realistic?", 2018, false, "oxHBa3cseGA", "https://www.youtube.com/watch?v=oxHBa3cseGA", "/downloads/Any Austin/Are Grand Theft Auto's Airports Realistic?/Are Grand Theft Auto's Airports Realistic? [oxHBa3cseGA].mp4", false, 5, ~U[2025-10-30 19:01:03Z]] 17:49:14.799 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.800 [debug] QUERY OK source="media_items" db=0.8ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-18 03:17:01Z], 5] 17:49:14.801 [debug] QUERY OK source="media_items" db=0.8ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Please use the code ANYAUSTINFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/4ld7o7G\n\n#thewitcher #thewitcher3 #hydrology #gaming #cdprojektred \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Are The Witcher 3's Rivers Realistic?", "678e2bff-8b6f-481f-b9f6-ee9dc35123a6", 1273, false, "5QI5byXtxcQ", "https://www.youtube.com/watch?v=5QI5byXtxcQ", 8, "/downloads/Any Austin/Are The Witcher 3's Rivers Realistic?/Are The Witcher 3's Rivers Realistic? [5QI5byXtxcQ].mp4", false, false, false, 5, [], 98, ~U[2025-10-18 03:17:01Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "Please use the code ANYAUSTINFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/4ld7o7G\n\n#thewitcher #thewitcher3 #hydrology #gaming #cdprojektred \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Are The Witcher 3's Rivers Realistic?", 1273, false, "5QI5byXtxcQ", "https://www.youtube.com/watch?v=5QI5byXtxcQ", "/downloads/Any Austin/Are The Witcher 3's Rivers Realistic?/Are The Witcher 3's Rivers Realistic? [5QI5byXtxcQ].mp4", false, 5, ~U[2025-10-18 03:17:01Z]] 17:49:14.801 [debug] QUERY OK source="sources" db=0.3ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.803 [debug] QUERY OK source="media_items" db=1.5ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-27 02:34:54Z], 5] 17:49:14.804 [debug] QUERY OK source="media_items" db=0.9ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get cozy AND spooky for less with deals up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nlittle map doodles by Sadie- https://www.instagram.com/swiese.art/\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Do Red Dead Redemption 2's Power Lines Connect to Anything?", "9354e27c-cec8-43ab-a280-5c3e04911e8e", 1215, false, "mTtMCoJrGxk", "https://www.youtube.com/watch?v=mTtMCoJrGxk", 9, "/downloads/Any Austin/Do Red Dead Redemption 2's Power Lines Connect to Anything?/Do Red Dead Redemption 2's Power Lines Connect to Anything? [mTtMCoJrGxk].mp4", false, false, false, 5, [], 98, ~U[2025-09-27 02:34:54Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "Get cozy AND spooky for less with deals up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nlittle map doodles by Sadie- https://www.instagram.com/swiese.art/\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Do Red Dead Redemption 2's Power Lines Connect to Anything?", 1215, false, "mTtMCoJrGxk", "https://www.youtube.com/watch?v=mTtMCoJrGxk", "/downloads/Any Austin/Do Red Dead Redemption 2's Power Lines Connect to Anything?/Do Red Dead Redemption 2's Power Lines Connect to Anything? [mTtMCoJrGxk].mp4", false, 5, ~U[2025-09-27 02:34:54Z]] 17:49:14.805 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.806 [debug] QUERY OK source="media_items" db=0.7ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-15 23:04:51Z], 5] 17:49:14.809 [debug] QUERY OK source="media_items" db=2.8ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Try Rocket Money for free: https://RocketMoney.com/anyaustin\n\n#grandtheftauto #gta3 #liminalspace #unremarkable #odd \n\nMap doodles by SADIE: https://www.instagram.com/swiese.art/\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "The Forgotten Atmosphere of Grand Theft Auto 3", "2ad12249-575c-4378-af2b-0dcad8fe3203", 1077, false, "xvM4-H0Im7A", "https://www.youtube.com/watch?v=xvM4-H0Im7A", 10, "/downloads/Any Austin/The Forgotten Atmosphere of Grand Theft Auto 3/The Forgotten Atmosphere of Grand Theft Auto 3 [xvM4-H0Im7A].mp4", false, false, false, 5, [], 98, ~U[2025-09-15 23:04:51Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "Try Rocket Money for free: https://RocketMoney.com/anyaustin\n\n#grandtheftauto #gta3 #liminalspace #unremarkable #odd \n\nMap doodles by SADIE: https://www.instagram.com/swiese.art/\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "The Forgotten Atmosphere of Grand Theft Auto 3", 1077, false, "xvM4-H0Im7A", "https://www.youtube.com/watch?v=xvM4-H0Im7A", "/downloads/Any Austin/The Forgotten Atmosphere of Grand Theft Auto 3/The Forgotten Atmosphere of Grand Theft Auto 3 [xvM4-H0Im7A].mp4", false, 5, ~U[2025-09-15 23:04:51Z]] 17:49:14.809 [debug] QUERY OK source="sources" db=0.2ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.810 [debug] QUERY OK source="media_items" db=0.8ms idle=5.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-25 17:20:11Z], 5] 17:49:14.811 [debug] QUERY OK source="media_items" db=0.8ms idle=5.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Score sizzling summer deals like up to 50% off at https://www.MeUndies.com/anyaustin -- PROMO CODE: ANYAUSTIN\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "New Vegas has a 0% unemployment rate", "fb702c4f-477b-4d47-b2fc-0608387d8fd9", 1072, false, "FxqrVoec20U", "https://www.youtube.com/watch?v=FxqrVoec20U", 11, "/downloads/Any Austin/New Vegas has a 0% unemployment rate/New Vegas has a 0% unemployment rate [FxqrVoec20U].mp4", false, false, false, 5, [], 98, ~U[2025-08-25 17:20:11Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "Score sizzling summer deals like up to 50% off at https://www.MeUndies.com/anyaustin -- PROMO CODE: ANYAUSTIN\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "New Vegas has a 0% unemployment rate", 1072, false, "FxqrVoec20U", "https://www.youtube.com/watch?v=FxqrVoec20U", "/downloads/Any Austin/New Vegas has a 0% unemployment rate/New Vegas has a 0% unemployment rate [FxqrVoec20U].mp4", false, 5, ~U[2025-08-25 17:20:11Z]] 17:49:14.812 [debug] QUERY OK source="sources" db=0.1ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.813 [debug] QUERY OK source="media_items" db=0.9ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-15 19:58:42Z], 5] 17:49:14.814 [debug] QUERY OK source="media_items" db=0.8ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["BUDGET TIME! Try Rocket Money for free: https://RocketMoney.com/anyaustin\n\nLEGAL EAGLE CHANNEL: @LegalEagle \nHire Timon for your tech needs: https://diodes-delight.com\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Do GTA5's Street Signs Comply With California Law?", "6c2e933d-cfc6-4296-a68b-b6c321e2bf79", 1372, false, "hEGYRbiVk3Y", "https://www.youtube.com/watch?v=hEGYRbiVk3Y", 12, "/downloads/Any Austin/Do GTA5's Street Signs Comply With California Law?/Do GTA5's Street Signs Comply With California Law? [hEGYRbiVk3Y].mp4", false, false, false, 5, [], 98, ~U[2025-08-15 19:58:42Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "BUDGET TIME! Try Rocket Money for free: https://RocketMoney.com/anyaustin\n\nLEGAL EAGLE CHANNEL: @LegalEagle \nHire Timon for your tech needs: https://diodes-delight.com\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Do GTA5's Street Signs Comply With California Law?", 1372, false, "hEGYRbiVk3Y", "https://www.youtube.com/watch?v=hEGYRbiVk3Y", "/downloads/Any Austin/Do GTA5's Street Signs Comply With California Law?/Do GTA5's Street Signs Comply With California Law? [hEGYRbiVk3Y].mp4", false, 5, ~U[2025-08-15 19:58:42Z]] 17:49:14.814 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.815 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-19 04:28:47Z], 5] 17:49:14.816 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["HEY: Score sizzling summer deals like up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin. You already know.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "I Tried to Make Sense of Cyberpunk 2077’s Water System", "eebbcea4-f344-4b47-b0bd-d3ef44c8a7f7", 1112, false, "RtXA1Wl3jHs", "https://www.youtube.com/watch?v=RtXA1Wl3jHs", 13, "/downloads/Any Austin/I Tried to Make Sense of Cyberpunk 2077’s Water System/I Tried to Make Sense of Cyberpunk 2077’s Water System [RtXA1Wl3jHs].mp4", false, false, false, 5, [], 98, ~U[2025-07-19 04:28:47Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "HEY: Score sizzling summer deals like up to 50% off at http://MeUndies.com/anyaustin and enter promo code anyaustin. You already know.\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "I Tried to Make Sense of Cyberpunk 2077’s Water System", 1112, false, "RtXA1Wl3jHs", "https://www.youtube.com/watch?v=RtXA1Wl3jHs", "/downloads/Any Austin/I Tried to Make Sense of Cyberpunk 2077’s Water System/I Tried to Make Sense of Cyberpunk 2077’s Water System [RtXA1Wl3jHs].mp4", false, 5, ~U[2025-07-19 04:28:47Z]] 17:49:14.817 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.818 [debug] QUERY OK source="media_items" db=0.7ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-29 03:39:48Z], 5] 17:49:14.819 [debug] QUERY OK source="media_items" db=0.8ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code 50ANYAUSTIN to get 50% OFF plus free shipping on your first Factor box at https://bit.ly/4dIBz33!\n\nLittle drawings done by Sadie Wiese: https://www.instagram.com/swiese.art/\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Weird Little Places in Mario Kart World", "0e67a073-27f7-43ae-8485-a5a3f218930f", 1394, false, "QCivB0awtdw", "https://www.youtube.com/watch?v=QCivB0awtdw", 14, "/downloads/Any Austin/Weird Little Places in Mario Kart World/Weird Little Places in Mario Kart World [QCivB0awtdw].mp4", false, false, false, 5, [], 98, ~U[2025-06-29 03:39:48Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "Use code 50ANYAUSTIN to get 50% OFF plus free shipping on your first Factor box at https://bit.ly/4dIBz33!\n\nLittle drawings done by Sadie Wiese: https://www.instagram.com/swiese.art/\n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Weird Little Places in Mario Kart World", 1394, false, "QCivB0awtdw", "https://www.youtube.com/watch?v=QCivB0awtdw", "/downloads/Any Austin/Weird Little Places in Mario Kart World/Weird Little Places in Mario Kart World [QCivB0awtdw].mp4", false, 5, ~U[2025-06-29 03:39:48Z]] 17:49:14.819 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.820 [debug] QUERY OK source="media_items" db=0.8ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-14 16:04:57Z], 5] 17:49:14.822 [debug] QUERY OK source="media_items" db=0.9ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Slide into game changing comfort with MeUndies. Support the show by going to https://MeUndies.com/anyaustin and using my code ANYAUSTIN to get 20% off your first order, plus free shipping.\n\nMap icons made by Sadie Wiese: https://www.instagram.com/swiese.art/\n\nThis is a video about unremarkable and odd places in Cyberpunk 2077.\n\n#cyberpunk2077 #unremarkable #odd #liminalspace #secret \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw", "Places in Cyberpunk 2077 You Weren't Meant To Go", "111018eb-a138-4e55-a958-e6b7be93961e", 1229, false, "VMm4H453Km0", "https://www.youtube.com/watch?v=VMm4H453Km0", 15, "/downloads/Any Austin/Places in Cyberpunk 2077 You Weren't Meant To Go/Places in Cyberpunk 2077 You Weren't Meant To Go [VMm4H453Km0].mp4", false, false, false, 5, [], 98, ~U[2025-06-14 16:04:57Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "Slide into game changing comfort with MeUndies. Support the show by going to https://MeUndies.com/anyaustin and using my code ANYAUSTIN to get 20% off your first order, plus free shipping.\n\nMap icons made by Sadie Wiese: https://www.instagram.com/swiese.art/\n\nThis is a video about unremarkable and odd places in Cyberpunk 2077.\n\n#cyberpunk2077 #unremarkable #odd #liminalspace #secret \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw", "Places in Cyberpunk 2077 You Weren't Meant To Go", 1229, false, "VMm4H453Km0", "https://www.youtube.com/watch?v=VMm4H453Km0", "/downloads/Any Austin/Places in Cyberpunk 2077 You Weren't Meant To Go/Places in Cyberpunk 2077 You Weren't Meant To Go [VMm4H453Km0].mp4", false, 5, ~U[2025-06-14 16:04:57Z]] 17:49:14.822 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.823 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-31 18:22:53Z], 5] 17:49:14.824 [debug] QUERY OK source="media_items" db=0.8ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Slide into game changing comfort with MeUndies. Support the show by going to https://MeUndies.com/anyaustin and using my code \"anyaustin\" to get 20% off your first order, plus free shipping.\n\nYou guys like water? #windwakerhd #switch2 #gamecube #hydrology #education \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Is Wind Waker's Water Drinkable?", "61347d3c-8801-441b-aa19-a104226affc0", 977, false, "gzEJ97fMvhA", "https://www.youtube.com/watch?v=gzEJ97fMvhA", 16, "/downloads/Any Austin/Is Wind Waker's Water Drinkable?/Is Wind Waker's Water Drinkable? [gzEJ97fMvhA].mp4", false, false, false, 5, [], 98, ~U[2025-05-31 18:22:53Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "Slide into game changing comfort with MeUndies. Support the show by going to https://MeUndies.com/anyaustin and using my code \"anyaustin\" to get 20% off your first order, plus free shipping.\n\nYou guys like water? #windwakerhd #switch2 #gamecube #hydrology #education \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Is Wind Waker's Water Drinkable?", 977, false, "gzEJ97fMvhA", "https://www.youtube.com/watch?v=gzEJ97fMvhA", "/downloads/Any Austin/Is Wind Waker's Water Drinkable?/Is Wind Waker's Water Drinkable? [gzEJ97fMvhA].mp4", false, 5, ~U[2025-05-31 18:22:53Z]] 17:49:14.824 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 17:49:14.825 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-18 03:07:01Z], 5] 17:49:14.827 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["My advice for you is to try Rocket Money for FREE: https://RocketMoney.com/anyaustin\n\n74 Gear - https://youtube.com/@74gear?si=_WXdQZSbinT5T2HL\n\n#gta5 #747 #grandtheftautov \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Can a 747 Actually Land in GTA5?", "5eab3fb1-1125-4302-8965-847379efb648", 997, false, "llzPppfId3Q", "https://www.youtube.com/watch?v=llzPppfId3Q", 17, "/downloads/Any Austin/Can a 747 Actually Land in GTA5?/Can a 747 Actually Land in GTA5? [llzPppfId3Q].mp4", false, false, false, 5, [], 98, ~U[2025-05-18 03:07:01Z], ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], "My advice for you is to try Rocket Money for FREE: https://RocketMoney.com/anyaustin\n\n74 Gear - https://youtube.com/@74gear?si=_WXdQZSbinT5T2HL\n\n#gta5 #747 #grandtheftautov \n\npatreon- https://www.patreon.com/any_austin\nbsky- https://bsky.app/profile/anyaustin.bsky.social\ndiscord- https://discord.gg/0wLFXHCpjmnrwCvJ\ninstagram- https://www.instagram.com/any_austin/\ntwitch- https://www.twitch.tv/any_austin\nTikTok- https://tiktok.com/@any_austin\n\nFor my music, search “The Excellent Man from Minneapolis” on your favorite streaming service, or click here for Spotify- https://open.spotify.com/artist/49RPyTk0BluLrg3scWFCOw\n\nEnglish, French, and German captions provided by Lawrence.", "Can a 747 Actually Land in GTA5?", 997, false, "llzPppfId3Q", "https://www.youtube.com/watch?v=llzPppfId3Q", "/downloads/Any Austin/Can a 747 Actually Land in GTA5?/Can a 747 Actually Land in GTA5? [llzPppfId3Q].mp4", false, 5, ~U[2025-05-18 03:07:01Z]] 17:49:14.827 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z], 5] 17:49:14.828 [debug] QUERY OK source="media_items" db=1.0ms idle=3.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [5] 17:49:14.830 [debug] QUERY OK source="media_items" db=0.9ms idle=4.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [5] 17:49:14.831 [debug] QUERY OK source="media_items" db=0.8ms idle=4.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [5] 17:49:14.832 [debug] QUERY OK source="tasks" db=0.3ms idle=3.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [407, 5, ~U[2026-02-16 17:49:14Z], ~U[2026-02-16 17:49:14Z]] 17:49:14.833 [info] {"args":{"id":5},"id":396,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":60600152,"event":"job:stop","queue_time":595322,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 17:49:34.451 [info] {"source":"oban","duration":1718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:00.627 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:50:04.454 [info] {"source":"oban","duration":1273,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:34.455 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:00.628 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:51:04.457 [info] {"source":"oban","duration":1317,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:34.458 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:00.629 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:52:04.460 [info] {"source":"oban","duration":1077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:34.461 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:00.630 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:53:04.465 [info] {"source":"oban","duration":2302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:34.467 [info] {"source":"oban","duration":1437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:00.631 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:54:04.468 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:34.470 [info] {"source":"oban","duration":1036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:00.632 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:55:04.472 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:34.473 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:00.633 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:56:04.474 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:34.476 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:00.634 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:57:04.479 [info] {"source":"oban","duration":2500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:34.481 [info] {"source":"oban","duration":1739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:00.635 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:58:04.484 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:34.486 [info] {"source":"oban","duration":1225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:00.636 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:59:04.487 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:34.489 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:00.637 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:00:04.491 [info] {"source":"oban","duration":1375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:34.493 [info] {"source":"oban","duration":1356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:00.639 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:01:04.495 [info] {"source":"oban","duration":1335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:34.497 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:00.641 [info] {"source":"oban","duration":1251,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:02:04.499 [info] {"source":"oban","duration":1226,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:34.500 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:00.642 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:03:04.502 [info] {"source":"oban","duration":1259,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:34.503 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:00.643 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:04:04.505 [info] {"source":"oban","duration":1233,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:34.506 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:00.644 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:05:04.509 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:34.511 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:00.645 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:06:04.513 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:34.515 [info] {"source":"oban","duration":1128,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:00.646 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:07:04.516 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:34.519 [info] {"source":"oban","duration":1479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:00.647 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:08:04.521 [info] {"source":"oban","duration":979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:34.523 [info] {"source":"oban","duration":1423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:00.649 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:09:04.526 [info] {"source":"oban","duration":1733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:34.528 [info] {"source":"oban","duration":973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:00.650 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:10:04.530 [info] {"source":"oban","duration":1852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:34.533 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:00.651 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:11:04.535 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:34.537 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:00.653 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:12:04.539 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:34.541 [info] {"source":"oban","duration":1445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:00.654 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:13:04.543 [info] {"source":"oban","duration":1437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:34.546 [info] {"source":"oban","duration":1372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:00.656 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:14:04.548 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:34.550 [info] {"source":"oban","duration":1226,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:00.657 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:15:04.552 [info] {"source":"oban","duration":1390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:34.553 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:00.658 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:16:04.556 [info] {"source":"oban","duration":2484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:34.558 [info] {"source":"oban","duration":1761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:00.659 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:17:04.561 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:34.563 [info] {"source":"oban","duration":1136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:00.660 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:18:04.565 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:34.567 [info] {"source":"oban","duration":1230,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:00.662 [info] {"source":"oban","duration":140,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:19:04.569 [info] {"source":"oban","duration":1411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:34.571 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:00.663 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:20:04.572 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:15.263 [info] {"args":{"id":8},"id":397,"meta":{},"system_time":1771266015262819569,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 18:20:15.264 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=1351.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:15.266 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1353.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:20:15.268 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=1015.7ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [8] 18:20:15.269 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=14.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [8] 18:20:15.270 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=7.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:20:15.271 [debug] QUERY OK source="settings" db=0.4ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:20:15.271 [debug] QUERY OK source="settings" db=0.2ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:20:15.273 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 18:20:15.273 [debug] Current batch of media processed. Will check again in 1000ms 18:20:15.273 [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 [] 18:20:15.274 [debug] QUERY OK source="settings" db=0.2ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:20:15.274 [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 [] 18:20:15.275 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLLdTMiiwDWynIJEw-QRCI3l7WikKPk_ZG --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Watch Next/%(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/9d/26/9d26ae60c4c43d92de716145968760000cea45a30af8d7edd0c96ab121d6ab33.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:20:16.274 [debug] Current batch of media processed. Will check again in 1000ms 18:20:17.275 [debug] Current batch of media processed. Will check again in 1000ms 18:20:18.276 [debug] Current batch of media processed. Will check again in 1000ms 18:20:19.279 [debug] Current batch of media processed. Will check again in 1000ms 18:20:20.280 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "// JLCPCB\nDiscover Easy, Affordable, and Reliable PCB manufacturing with JLCPCB! Register to get $60 New customer coupons: https://jlcpcb.com/?from=ashtf\n\n// Discord (Follow Project Progress)\nhttps://discord.gg/KSCapSf4XH\n\n// Github (Take a Look at the Project Files)\nhttps://github.com/ashtf8/EinkPDA\n\n// Music By Posy!\nhttps://posy.bandcamp.com/\nhttps://www.youtube.com/@PosyMusic\n\n// Timestamps\n0:00 Intro & Thanks!\n1:05 Overview of New Features\n4:28 Sponsor\n5:16 Hardware Updates\n6:10 Making the Keys\n7:24 PCB Updates\n8:25 Software Updates\n10:00 Overhauled TXT App\n15:45 Desktop Mode\n16:36 Tasks App\n19:00 Alternate Sleep Mode\n19:38 File Wizard!\n21:58 Next Steps\n24:34 Making Your Own Eink PDA\n27:13 Follow the Development\n27:30 Outro\n\nThanks For Watching!", "duration" => 1667, "filename" => "/downloads/Watch Next/My Dream Productivity Device Just Got Better/My Dream Productivity Device Just Got Better [VPQ2q7yVjZs].mp4", "id" => "VPQ2q7yVjZs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VPQ2q7yVjZs", "playlist_index" => 1, "timestamp" => 1743598848, "title" => "My Dream Productivity Device Just Got Better", "upload_date" => "20250402"} 18:20:20.282 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1369.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:20:20.283 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1370.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:20.284 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1371.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-02 13:00:48Z], 8] 18:20:20.289 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=1024.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["// JLCPCB\nDiscover Easy, Affordable, and Reliable PCB manufacturing with JLCPCB! Register to get $60 New customer coupons: https://jlcpcb.com/?from=ashtf\n\n// Discord (Follow Project Progress)\nhttps://discord.gg/KSCapSf4XH\n\n// Github (Take a Look at the Project Files)\nhttps://github.com/ashtf8/EinkPDA\n\n// Music By Posy!\nhttps://posy.bandcamp.com/\nhttps://www.youtube.com/@PosyMusic\n\n// Timestamps\n0:00 Intro & Thanks!\n1:05 Overview of New Features\n4:28 Sponsor\n5:16 Hardware Updates\n6:10 Making the Keys\n7:24 PCB Updates\n8:25 Software Updates\n10:00 Overhauled TXT App\n15:45 Desktop Mode\n16:36 Tasks App\n19:00 Alternate Sleep Mode\n19:38 File Wizard!\n21:58 Next Steps\n24:34 Making Your Own Eink PDA\n27:13 Follow the Development\n27:30 Outro\n\nThanks For Watching!", "My Dream Productivity Device Just Got Better", "a66807cb-1311-438b-8624-1912755f7906", 1667, false, "VPQ2q7yVjZs", "https://www.youtube.com/watch?v=VPQ2q7yVjZs", 1, "/downloads/Watch Next/My Dream Productivity Device Just Got Better/My Dream Productivity Device Just Got Better [VPQ2q7yVjZs].mp4", false, false, false, 8, [], 1, ~U[2025-04-02 13:00:48Z], ~U[2026-02-16 18:20:20Z], ~U[2026-02-16 18:20:20Z], "// JLCPCB\nDiscover Easy, Affordable, and Reliable PCB manufacturing with JLCPCB! Register to get $60 New customer coupons: https://jlcpcb.com/?from=ashtf\n\n// Discord (Follow Project Progress)\nhttps://discord.gg/KSCapSf4XH\n\n// Github (Take a Look at the Project Files)\nhttps://github.com/ashtf8/EinkPDA\n\n// Music By Posy!\nhttps://posy.bandcamp.com/\nhttps://www.youtube.com/@PosyMusic\n\n// Timestamps\n0:00 Intro & Thanks!\n1:05 Overview of New Features\n4:28 Sponsor\n5:16 Hardware Updates\n6:10 Making the Keys\n7:24 PCB Updates\n8:25 Software Updates\n10:00 Overhauled TXT App\n15:45 Desktop Mode\n16:36 Tasks App\n19:00 Alternate Sleep Mode\n19:38 File Wizard!\n21:58 Next Steps\n24:34 Making Your Own Eink PDA\n27:13 Follow the Development\n27:30 Outro\n\nThanks For Watching!", "My Dream Productivity Device Just Got Better", 1667, false, "VPQ2q7yVjZs", "https://www.youtube.com/watch?v=VPQ2q7yVjZs", "/downloads/Watch Next/My Dream Productivity Device Just Got Better/My Dream Productivity Device Just Got Better [VPQ2q7yVjZs].mp4", false, 8, ~U[2025-04-02 13:00:48Z]] 18:20:20.290 [debug] QUERY OK source="sources" db=0.9ms idle=26.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:20.291 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=8.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:20:20.293 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=9.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9568] 18:20:20.294 [debug] Current batch of media processed. Will check again in 1000ms 18:20:21.295 [debug] Current batch of media processed. Will check again in 1000ms 18:20:22.296 [debug] Current batch of media processed. Will check again in 1000ms 18:20:23.297 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I did my research this time (I still don't know what I'm doing)\n\nMerch Store! - \nhttps://dunderheads-shop.fourthwall.com/\n\nThe Mad Pantser!\nhttps://store.steampowered.com/app/3235600/The_Mad_Pantser/\n\nDunderheads Discord!\nhttps://discord.gg/y5mPMdnJ98\n\nDunderheads TWITCH!!!\nhttps://www.twitch.tv/dunderheadsofficial\n\nOur Other Channels!\n @DunderChris \n @TheRoguelikeReviewer \n\nPatreon!\nhttps://www.patreon.com/c/DunderheadStudios\n\nOUR FNF MOD!\nhttps://gamebanana.com/mods/331964\n\nEdited by: Sera\nhttps://x.com/seratonin_swag\nhttps://ytjobs.co/talent/profile/336451?r=692\n\nThumbnail by: Aynsley\n\n#skyrim #skyrimmultiplayer", "duration" => 3725, "filename" => "/downloads/Watch Next/Skyrim But it's JEOPARDY! (Skyrim Multiplayer)/Skyrim But it's JEOPARDY! (Skyrim Multiplayer) [Ajhl3HD7Pno].mp4", "id" => "Ajhl3HD7Pno", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ajhl3HD7Pno", "playlist_index" => 2, "timestamp" => 1768842021, "title" => "Skyrim But it's JEOPARDY! (Skyrim Multiplayer)", "upload_date" => "20260119"} 18:20:23.298 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1385.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:20:23.299 [debug] QUERY OK source="sources" db=0.3ms idle=1387.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:23.300 [debug] QUERY OK source="media_items" db=0.7ms idle=1387.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-19 17:00:21Z], 8] 18:20:23.305 [debug] QUERY OK source="media_items" db=3.2ms idle=1035.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I did my research this time (I still don't know what I'm doing)\n\nMerch Store! - \nhttps://dunderheads-shop.fourthwall.com/\n\nThe Mad Pantser!\nhttps://store.steampowered.com/app/3235600/The_Mad_Pantser/\n\nDunderheads Discord!\nhttps://discord.gg/y5mPMdnJ98\n\nDunderheads TWITCH!!!\nhttps://www.twitch.tv/dunderheadsofficial\n\nOur Other Channels!\n @DunderChris \n @TheRoguelikeReviewer \n\nPatreon!\nhttps://www.patreon.com/c/DunderheadStudios\n\nOUR FNF MOD!\nhttps://gamebanana.com/mods/331964\n\nEdited by: Sera\nhttps://x.com/seratonin_swag\nhttps://ytjobs.co/talent/profile/336451?r=692\n\nThumbnail by: Aynsley\n\n#skyrim #skyrimmultiplayer", "Skyrim But it's JEOPARDY! (Skyrim Multiplayer)", "e7b16b4b-c6f7-4dfb-a191-e2f75a9efa71", 3725, false, "Ajhl3HD7Pno", "https://www.youtube.com/watch?v=Ajhl3HD7Pno", 2, "/downloads/Watch Next/Skyrim But it's JEOPARDY! (Skyrim Multiplayer)/Skyrim But it's JEOPARDY! (Skyrim Multiplayer) [Ajhl3HD7Pno].mp4", false, false, false, 8, [], 1, ~U[2026-01-19 17:00:21Z], ~U[2026-02-16 18:20:23Z], ~U[2026-02-16 18:20:23Z], "I did my research this time (I still don't know what I'm doing)\n\nMerch Store! - \nhttps://dunderheads-shop.fourthwall.com/\n\nThe Mad Pantser!\nhttps://store.steampowered.com/app/3235600/The_Mad_Pantser/\n\nDunderheads Discord!\nhttps://discord.gg/y5mPMdnJ98\n\nDunderheads TWITCH!!!\nhttps://www.twitch.tv/dunderheadsofficial\n\nOur Other Channels!\n @DunderChris \n @TheRoguelikeReviewer \n\nPatreon!\nhttps://www.patreon.com/c/DunderheadStudios\n\nOUR FNF MOD!\nhttps://gamebanana.com/mods/331964\n\nEdited by: Sera\nhttps://x.com/seratonin_swag\nhttps://ytjobs.co/talent/profile/336451?r=692\n\nThumbnail by: Aynsley\n\n#skyrim #skyrimmultiplayer", "Skyrim But it's JEOPARDY! (Skyrim Multiplayer)", 3725, false, "Ajhl3HD7Pno", "https://www.youtube.com/watch?v=Ajhl3HD7Pno", "/downloads/Watch Next/Skyrim But it's JEOPARDY! (Skyrim Multiplayer)/Skyrim But it's JEOPARDY! (Skyrim Multiplayer) [Ajhl3HD7Pno].mp4", false, 8, ~U[2026-01-19 17:00:21Z]] 18:20:23.306 [debug] QUERY OK source="sources" db=0.9ms idle=38.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:23.307 [debug] QUERY OK source="media_profiles" db=0.6ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:20:23.309 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=9.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [17561] 18:20:23.310 [debug] Current batch of media processed. Will check again in 1000ms 18:20:24.311 [debug] Current batch of media processed. Will check again in 1000ms 18:20:25.312 [debug] Current batch of media processed. Will check again in 1000ms 18:20:26.313 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "computer guide: https://youtu.be/2qDE048ovsI\n\nthis is the modern dumbphone, a system to make your phone work for you and not against you. this is an updated version with some new features! \n\njoin my channel membership: https://www.youtube.com/channel/UCbDmEdLs-SB3FjrDFQJ4TDg/join\n\napps mentioned: \niOS (no subscriptions)\n- homescreen: dumbify [$6.99]\n- extension(s): socialfocus or untrap for YouTube [$3.99]\n- app blocker: screenzen or burnout buddy [free]\n\nAndroid (all free)\n- homescreen: olauncher [free] alt: unlauncher [sideload]\n- extension(s): socialfocus or untrap for YouTube [free]\n- app blocker: screenzen [free]\n\nwritten guide: reysu.io/dumbphone\n\n🎟️ Life Tracker System Prompts & Handbook: https://store.reysu.io/\n\n📺 some of my other vids : \nI made my smartphone into a dumbphone: https://www.youtube.com/watch?v=DmcOtIrZ8r0&list=PLacX82b_pofx0W3JjHZzi795ocRUZrSfT&index=2&t=373s \nA notebook to save you from infinite scrolling: https://www.youtube.com/watch?v=OmyfB513E1s&list=PLacX82b_pofx0W3JjHZzi795ocRUZrSfT&index=3\n7 Purchases under $100 to quickly improve your life: \n\nOutline: \n0:00 what is the modern dumbphone?\n0:32 feature + setup walkthrough \n1:10 why do this / results after doing this for over a year \n2:42 how apps try to addict you\n4:20 iOS + android setup guide \n4:36 #1 delete apps \n4:57 #2 turn off notifications\n5:15 #3 optimize the browser\n6:15 #4 homescreen customization\n7:35 #5 create a social media schedule\n9:39 additional tips / phone recommendation", "duration" => 634, "filename" => "/downloads/Watch Next/how I reduced my screentime by 80% (guide)/how I reduced my screentime by 80% (guide) [7jVb1lLniEw].mp4", "id" => "7jVb1lLniEw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7jVb1lLniEw", "playlist_index" => 3, "timestamp" => 1717765209, "title" => "how I reduced my screentime by 80% (guide)", "upload_date" => "20240607"} 18:20:26.313 [debug] QUERY OK source="sources" db=0.3ms idle=1401.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:20:26.314 [debug] QUERY OK source="sources" db=0.1ms idle=1401.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:26.314 [debug] QUERY OK source="media_items" db=0.2ms idle=1402.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-07 13:00:09Z], 8] 18:20:26.316 [debug] QUERY OK source="media_items" db=1.2ms idle=1045.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["computer guide: https://youtu.be/2qDE048ovsI\n\nthis is the modern dumbphone, a system to make your phone work for you and not against you. this is an updated version with some new features! \n\njoin my channel membership: https://www.youtube.com/channel/UCbDmEdLs-SB3FjrDFQJ4TDg/join\n\napps mentioned: \niOS (no subscriptions)\n- homescreen: dumbify [$6.99]\n- extension(s): socialfocus or untrap for YouTube [$3.99]\n- app blocker: screenzen or burnout buddy [free]\n\nAndroid (all free)\n- homescreen: olauncher [free] alt: unlauncher [sideload]\n- extension(s): socialfocus or untrap for YouTube [free]\n- app blocker: screenzen [free]\n\nwritten guide: reysu.io/dumbphone\n\n🎟️ Life Tracker System Prompts & Handbook: https://store.reysu.io/\n\n📺 some of my other vids : \nI made my smartphone into a dumbphone: https://www.youtube.com/watch?v=DmcOtIrZ8r0&list=PLacX82b_pofx0W3JjHZzi795ocRUZrSfT&index=2&t=373s \nA notebook to save you from infinite scrolling: https://www.youtube.com/watch?v=OmyfB513E1s&list=PLacX82b_pofx0W3JjHZzi795ocRUZrSfT&index=3\n7 Purchases under $100 to quickly improve your life: \n\nOutline: \n0:00 what is the modern dumbphone?\n0:32 feature + setup walkthrough \n1:10 why do this / results after doing this for over a year \n2:42 how apps try to addict you\n4:20 iOS + android setup guide \n4:36 #1 delete apps \n4:57 #2 turn off notifications\n5:15 #3 optimize the browser\n6:15 #4 homescreen customization\n7:35 #5 create a social media schedule\n9:39 additional tips / phone recommendation", "how I reduced my screentime by 80% (guide)", "e8eacb12-0f3f-4dd9-a4f2-80f9d5dc0bfb", 634, false, "7jVb1lLniEw", "https://www.youtube.com/watch?v=7jVb1lLniEw", 3, "/downloads/Watch Next/how I reduced my screentime by 80% (guide)/how I reduced my screentime by 80% (guide) [7jVb1lLniEw].mp4", false, false, false, 8, [], 1, ~U[2024-06-07 13:00:09Z], ~U[2026-02-16 18:20:26Z], ~U[2026-02-16 18:20:26Z], "computer guide: https://youtu.be/2qDE048ovsI\n\nthis is the modern dumbphone, a system to make your phone work for you and not against you. this is an updated version with some new features! \n\njoin my channel membership: https://www.youtube.com/channel/UCbDmEdLs-SB3FjrDFQJ4TDg/join\n\napps mentioned: \niOS (no subscriptions)\n- homescreen: dumbify [$6.99]\n- extension(s): socialfocus or untrap for YouTube [$3.99]\n- app blocker: screenzen or burnout buddy [free]\n\nAndroid (all free)\n- homescreen: olauncher [free] alt: unlauncher [sideload]\n- extension(s): socialfocus or untrap for YouTube [free]\n- app blocker: screenzen [free]\n\nwritten guide: reysu.io/dumbphone\n\n🎟️ Life Tracker System Prompts & Handbook: https://store.reysu.io/\n\n📺 some of my other vids : \nI made my smartphone into a dumbphone: https://www.youtube.com/watch?v=DmcOtIrZ8r0&list=PLacX82b_pofx0W3JjHZzi795ocRUZrSfT&index=2&t=373s \nA notebook to save you from infinite scrolling: https://www.youtube.com/watch?v=OmyfB513E1s&list=PLacX82b_pofx0W3JjHZzi795ocRUZrSfT&index=3\n7 Purchases under $100 to quickly improve your life: \n\nOutline: \n0:00 what is the modern dumbphone?\n0:32 feature + setup walkthrough \n1:10 why do this / results after doing this for over a year \n2:42 how apps try to addict you\n4:20 iOS + android setup guide \n4:36 #1 delete apps \n4:57 #2 turn off notifications\n5:15 #3 optimize the browser\n6:15 #4 homescreen customization\n7:35 #5 create a social media schedule\n9:39 additional tips / phone recommendation", "how I reduced my screentime by 80% (guide)", 634, false, "7jVb1lLniEw", "https://www.youtube.com/watch?v=7jVb1lLniEw", "/downloads/Watch Next/how I reduced my screentime by 80% (guide)/how I reduced my screentime by 80% (guide) [7jVb1lLniEw].mp4", false, 8, ~U[2024-06-07 13:00:09Z]] 18:20:26.316 [debug] QUERY OK source="sources" db=0.2ms idle=45.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:26.317 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:20:26.317 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [17562] 18:20:26.318 [debug] Current batch of media processed. Will check again in 1000ms 18:20:27.319 [debug] Current batch of media processed. Will check again in 1000ms 18:20:28.320 [debug] Current batch of media processed. Will check again in 1000ms 18:20:29.321 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "4829083029 things 2 do instead of doomscrolloing !!! : ) #4920 will shock you :0\n\nSources:\nBooks: \nWilson, Frank R. (1998). The Hand: How Its Use Shapes the Brain, Language, and Human Culture.\nAnnie Murphy Paul (2021)The Extended Mind\n\nArticles:\nBerntsen, Dorthe, Rick H. Hoyle, Daniel Munkholm Møller, & David C. Rubin. (2023). Digital daydreaming: Introducing the spontaneous smartphone checking scale.\nBruineberg, Jelle & R. E. Fabry. (2021). Extended mind-wandering. \nGao, Qianru, et al. (2021). Exploring extended mind-wandering through an interactive haptic fidget object. Computers in Human Behavior. \nOulasvirta, Antti, et al. (2023). Fidgeting with everyday objects: The role of hands in attention and cognition. \nTodd Hargove, Hands and Minds https://toddhargrove.substack.com/p/hands-and-minds \nQinxue Liu et al (2022) Smartphone use can modify the body schema: An ERP study based on hand mental rotation task\n\nLinks:\nhazelthayer.com\npatreon.com/c/hazelisonline\ninstagram.com/hazelisonline", "duration" => 1091, "filename" => "/downloads/Watch Next/why "things to do instead of doomscrolling" never works/why "things to do instead of doomscrolling" never works [7mI6nm8QlQo].mp4", "id" => "7mI6nm8QlQo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7mI6nm8QlQo", "playlist_index" => 4, "timestamp" => 1765863639, "title" => "why \"things to do instead of doomscrolling\" never works", "upload_date" => "20251216"} 18:20:29.323 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1410.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:20:29.324 [debug] QUERY OK source="sources" db=0.4ms idle=1411.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:29.325 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1412.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-16 05:40:39Z], 8] 18:20:29.330 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=1051.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["4829083029 things 2 do instead of doomscrolloing !!! : ) #4920 will shock you :0\n\nSources:\nBooks: \nWilson, Frank R. (1998). The Hand: How Its Use Shapes the Brain, Language, and Human Culture.\nAnnie Murphy Paul (2021)The Extended Mind\n\nArticles:\nBerntsen, Dorthe, Rick H. Hoyle, Daniel Munkholm Møller, & David C. Rubin. (2023). Digital daydreaming: Introducing the spontaneous smartphone checking scale.\nBruineberg, Jelle & R. E. Fabry. (2021). Extended mind-wandering. \nGao, Qianru, et al. (2021). Exploring extended mind-wandering through an interactive haptic fidget object. Computers in Human Behavior. \nOulasvirta, Antti, et al. (2023). Fidgeting with everyday objects: The role of hands in attention and cognition. \nTodd Hargove, Hands and Minds https://toddhargrove.substack.com/p/hands-and-minds \nQinxue Liu et al (2022) Smartphone use can modify the body schema: An ERP study based on hand mental rotation task\n\nLinks:\nhazelthayer.com\npatreon.com/c/hazelisonline\ninstagram.com/hazelisonline", "why \"things to do instead of doomscrolling\" never works", "4aa5ea70-ab86-4383-9938-5acdc4517cae", 1091, false, "7mI6nm8QlQo", "https://www.youtube.com/watch?v=7mI6nm8QlQo", 4, "/downloads/Watch Next/why "things to do instead of doomscrolling" never works/why "things to do instead of doomscrolling" never works [7mI6nm8QlQo].mp4", false, false, false, 8, [], 1, ~U[2025-12-16 05:40:39Z], ~U[2026-02-16 18:20:29Z], ~U[2026-02-16 18:20:29Z], "4829083029 things 2 do instead of doomscrolloing !!! : ) #4920 will shock you :0\n\nSources:\nBooks: \nWilson, Frank R. (1998). The Hand: How Its Use Shapes the Brain, Language, and Human Culture.\nAnnie Murphy Paul (2021)The Extended Mind\n\nArticles:\nBerntsen, Dorthe, Rick H. Hoyle, Daniel Munkholm Møller, & David C. Rubin. (2023). Digital daydreaming: Introducing the spontaneous smartphone checking scale.\nBruineberg, Jelle & R. E. Fabry. (2021). Extended mind-wandering. \nGao, Qianru, et al. (2021). Exploring extended mind-wandering through an interactive haptic fidget object. Computers in Human Behavior. \nOulasvirta, Antti, et al. (2023). Fidgeting with everyday objects: The role of hands in attention and cognition. \nTodd Hargove, Hands and Minds https://toddhargrove.substack.com/p/hands-and-minds \nQinxue Liu et al (2022) Smartphone use can modify the body schema: An ERP study based on hand mental rotation task\n\nLinks:\nhazelthayer.com\npatreon.com/c/hazelisonline\ninstagram.com/hazelisonline", "why \"things to do instead of doomscrolling\" never works", 1091, false, "7mI6nm8QlQo", "https://www.youtube.com/watch?v=7mI6nm8QlQo", "/downloads/Watch Next/why "things to do instead of doomscrolling" never works/why "things to do instead of doomscrolling" never works [7mI6nm8QlQo].mp4", false, 8, ~U[2025-12-16 05:40:39Z]] 18:20:29.331 [debug] QUERY OK source="sources" db=0.7ms idle=54.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:29.333 [debug] QUERY OK source="media_profiles" db=1.1ms idle=8.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:20:29.334 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=9.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [17564] 18:20:29.335 [debug] Current batch of media processed. Will check again in 1000ms 18:20:30.336 [debug] Current batch of media processed. Will check again in 1000ms 18:20:31.337 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vegetables. Often the most stereotypically heathy food group that we as people regularly consume. For ages humans have gathered and planted stalks and roots and entire civilizations have flourished on them.\nBut does new science actually back this up or have we had the wool pulled over our eyes that this group of watered down salad fodders is more nutritious than we thought?\nToday we are breaking down each one's pros and cons and having them face off head to head with one another to see which ones should be in your salad bowls and which ones are better left in the ground.\n\nWhat I Would Change:\nThere are two different types of Vitamin K, each with different uses. To my knowledge, only Vitamin K1 is found in plant sources.\nUpon further exposure to the power of anthocyanins, I would move Eggplant up at least one tier if not two due to it's uniquely high Nasunin content.\n\nAll nutrient data is pulled from the USDA's National Nutrient Database for Standard Reference.\n\nIntroducing: Vegetables - 0:00\nArtichoke - 2:23\nArugula - 3:20\nAsparagus - 3:50\nBeetroot - 4:39\nBell Pepper - 5:34\nBok Choy - 6:18\nBroccoli - 6:56\nBrussel Sprout - 7:52\nCabbage - 8:40\nCarrot - 9:13\nCauliflower - 9:53\nCelery - 10:25\nChili Pepper - 10:53\nCollard Green - 11:50\nCorn - 12:36\nCucumber - 13:26\nEggplant - 14:04\nEndive - 14:50\nGarlic - 15:24\nGreen Bean - 16:29\nJalapeno - 17:11\nKale - 17:47\nLeek - 18:44\nIceberg Lettuce - 19:25\nRomaine Lettuce - 19:56\nMustard Green - 20:25\nOkra - 21:00\nOnion - 21:39\nParsnip - 22:29\nPeas - 22:59\nDill Pickle - 23:44\nPotato - 24:22\nRadish - 25:09\nSpinach - 25:36\nSweet Potato - 26:59\nTurnip - 27:50\nWater Chestnut - 28:25\nWatercress - 29:00\nConclusion - 29:39\n\n#vegetables #fruitsandveggies #nutrition #nutritiontierlist #diet #vegetarian #vegan #weightloss", "duration" => 1854, "filename" => "/downloads/Watch Next/Vegetables Ranked - Nutrition Tier Lists/Vegetables Ranked - Nutrition Tier Lists [fD07raxrJVo].mp4", "id" => "fD07raxrJVo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fD07raxrJVo", "playlist_index" => 5, "timestamp" => 1669935615, "title" => "Vegetables Ranked - Nutrition Tier Lists", "upload_date" => "20221201"} 18:20:31.338 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=426.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:20:31.339 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=427.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:31.340 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=428.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-12-01 23:00:15Z], 8] 18:20:31.389 [debug] QUERY OK source="media_items" db=47.5ms idle=429.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Vegetables. Often the most stereotypically heathy food group that we as people regularly consume. For ages humans have gathered and planted stalks and roots and entire civilizations have flourished on them.\nBut does new science actually back this up or have we had the wool pulled over our eyes that this group of watered down salad fodders is more nutritious than we thought?\nToday we are breaking down each one's pros and cons and having them face off head to head with one another to see which ones should be in your salad bowls and which ones are better left in the ground.\n\nWhat I Would Change:\nThere are two different types of Vitamin K, each with different uses. To my knowledge, only Vitamin K1 is found in plant sources.\nUpon further exposure to the power of anthocyanins, I would move Eggplant up at least one tier if not two due to it's uniquely high Nasunin content.\n\nAll nutrient data is pulled from the USDA's National Nutrient Database for Standard Reference.\n\nIntroducing: Vegetables - 0:00\nArtichoke - 2:23\nArugula - 3:20\nAsparagus - 3:50\nBeetroot - 4:39\nBell Pepper - 5:34\nBok Choy - 6:18\nBroccoli - 6:56\nBrussel Sprout - 7:52\nCabbage - 8:40\nCarrot - 9:13\nCauliflower - 9:53\nCelery - 10:25\nChili Pepper - 10:53\nCollard Green - 11:50\nCorn - 12:36\nCucumber - 13:26\nEggplant - 14:04\nEndive - 14:50\nGarlic - 15:24\nGreen Bean - 16:29\nJalapeno - 17:11\nKale - 17:47\nLeek - 18:44\nIceberg Lettuce - 19:25\nRomaine Lettuce - 19:56\nMustard Green - 20:25\nOkra - 21:00\nOnion - 21:39\nParsnip - 22:29\nPeas - 22:59\nDill Pickle - 23:44\nPotato - 24:22\nRadish - 25:09\nSpinach - 25:36\nSweet Potato - 26:59\nTurnip - 27:50\nWater Chestnut - 28:25\nWatercress - 29:00\nConclusion - 29:39\n\n#vegetables #fruitsandveggies #nutrition #nutritiontierlist #diet #vegetarian #vegan #weightloss", "Vegetables Ranked - Nutrition Tier Lists", "128bc0cc-0c00-4978-9ded-d5bc39ca13ef", 1854, false, "fD07raxrJVo", "https://www.youtube.com/watch?v=fD07raxrJVo", 5, "/downloads/Watch Next/Vegetables Ranked - Nutrition Tier Lists/Vegetables Ranked - Nutrition Tier Lists [fD07raxrJVo].mp4", false, false, false, 8, [], 1, ~U[2022-12-01 23:00:15Z], ~U[2026-02-16 18:20:31Z], ~U[2026-02-16 18:20:31Z], "Vegetables. Often the most stereotypically heathy food group that we as people regularly consume. For ages humans have gathered and planted stalks and roots and entire civilizations have flourished on them.\nBut does new science actually back this up or have we had the wool pulled over our eyes that this group of watered down salad fodders is more nutritious than we thought?\nToday we are breaking down each one's pros and cons and having them face off head to head with one another to see which ones should be in your salad bowls and which ones are better left in the ground.\n\nWhat I Would Change:\nThere are two different types of Vitamin K, each with different uses. To my knowledge, only Vitamin K1 is found in plant sources.\nUpon further exposure to the power of anthocyanins, I would move Eggplant up at least one tier if not two due to it's uniquely high Nasunin content.\n\nAll nutrient data is pulled from the USDA's National Nutrient Database for Standard Reference.\n\nIntroducing: Vegetables - 0:00\nArtichoke - 2:23\nArugula - 3:20\nAsparagus - 3:50\nBeetroot - 4:39\nBell Pepper - 5:34\nBok Choy - 6:18\nBroccoli - 6:56\nBrussel Sprout - 7:52\nCabbage - 8:40\nCarrot - 9:13\nCauliflower - 9:53\nCelery - 10:25\nChili Pepper - 10:53\nCollard Green - 11:50\nCorn - 12:36\nCucumber - 13:26\nEggplant - 14:04\nEndive - 14:50\nGarlic - 15:24\nGreen Bean - 16:29\nJalapeno - 17:11\nKale - 17:47\nLeek - 18:44\nIceberg Lettuce - 19:25\nRomaine Lettuce - 19:56\nMustard Green - 20:25\nOkra - 21:00\nOnion - 21:39\nParsnip - 22:29\nPeas - 22:59\nDill Pickle - 23:44\nPotato - 24:22\nRadish - 25:09\nSpinach - 25:36\nSweet Potato - 26:59\nTurnip - 27:50\nWater Chestnut - 28:25\nWatercress - 29:00\nConclusion - 29:39\n\n#vegetables #fruitsandveggies #nutrition #nutritiontierlist #diet #vegetarian #vegan #weightloss", "Vegetables Ranked - Nutrition Tier Lists", 1854, false, "fD07raxrJVo", "https://www.youtube.com/watch?v=fD07raxrJVo", "/downloads/Watch Next/Vegetables Ranked - Nutrition Tier Lists/Vegetables Ranked - Nutrition Tier Lists [fD07raxrJVo].mp4", false, 8, ~U[2022-12-01 23:00:15Z]] 18:20:31.391 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=110.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:31.392 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.7ms idle=52.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:20:31.395 [debug] QUERY OK source="media_items" db=1.7ms idle=53.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [17566] 18:20:31.395 [debug] Current batch of media processed. Will check again in 1000ms 18:20:32.396 [debug] Current batch of media processed. Will check again in 1000ms 18:20:33.397 [debug] Current batch of media processed. Will check again in 1000ms 18:20:34.398 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Sign up for the my free newsletter here 👉 https://henrydidit.kit.com/newsletter-signup\n\nIn a world dominated by screens and smart devices, why are people reverting to such a simple way of living? \n\nI didn’t fully understand, so over the last year I replaced 5 digital tools with their analogue counterparts.\n\nIn this video, I’ll explain what’s driving the shift, the impact each of these tools have had on me, and whether or not they’re really as life changing as people claim. \n\n✌️\n\n🐶 SUBSCRIBE FOR LARRY 🐶 https://www.youtube.com/@henrydidit?sub_confirmation=1 \n\n-\n\n📹 WATCH NEXT:\n\nWhy is everyone obsessed with notebooks? What’s really going on?: https://youtu.be/LW_H19w812M?si=e8OS6_me5q5imLsH \n3 notebooks to save you from mindless scrolling: https://youtu.be/ANcJgvAJFaU?si=PzJHri8p1KW9z3Qc \n\n📸 MY OTHER SOCIALS\n\nInstagram: https://www.instagram.com/henrydidit_/ \n\n🙏 CREDITS:\n\nIn the journal section of the video I mention a practice called Morning Pages. This was introduced by Julia Cameron in her book the Artist's Way in 1992. It changed my life and unlocked my creativity at a time when I really needed it. \n\nhttps://juliacameronlive.com/\n\n📖 THE EXCEPTION TO MY ANALOGUE OBSESSION: \n\nI use Shortform to help me decide which books I’m going to buy and to revisit summaries of books I’ve read in the past. It’s really great. So if you want to learn even more from important non-fiction books, check out http://shortform.com/henry You’ll get 5-days of unlimited access + an additional 20% discount on the annual subscription. I get a kickback if you use my link 🤙.\n\n🥁MUSIC I USE:\n\nI get my music from Epidemic Sound. You can check out the tracks I use in my videos in this playlist. \nhttps://www.epidemicsound.com/playlist/p6b1fa9c2k284zfx7y32ra5ozzfd37ej/ \n\n🙏 THANKS:\n\nA huge thanks to my great pal @__clowndisco for his wonderful illustrations. They made the video. Check him out on at https://www.instagram.com/__clowndisco/ \n\n🤙 WHO AM I?\n\nIf we haven’t met yet, hey, I’m Henry. I run a consultancy by day and perform as a magician by night. I’m figuring out how to slow down, stay focused, and make time for the things that bring joy. Sharing what I’m learning as I go.\n\n🍿7,300\n\n🕒 TIMESTAMPS:\n\n00:00 - Intro\n01:55 - Journal\n05:15 - Watch\n07:24 - Camera\n09:58 - Books\n11:42 - Postcards\n\n#analog #digitaldetox #journal #notebook #doomscrolling", "duration" => 906, "filename" => "/downloads/Watch Next/Swapping smart devices for analog changed my life/Swapping smart devices for analog changed my life [uNFDgKFY6Vk].mp4", "id" => "uNFDgKFY6Vk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uNFDgKFY6Vk", "playlist_index" => 6, "timestamp" => 1744635696, "title" => "Swapping smart devices for analog changed my life", "upload_date" => "20250414"} 18:20:34.400 [debug] QUERY OK source="sources" db=0.6ms idle=1487.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:20:34.401 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1488.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:34.402 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1489.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-14 13:01:36Z], 8] 18:20:34.413 [debug] QUERY OK source="media_items" db=9.4ms queue=0.1ms idle=1117.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Sign up for the my free newsletter here 👉 https://henrydidit.kit.com/newsletter-signup\n\nIn a world dominated by screens and smart devices, why are people reverting to such a simple way of living? \n\nI didn’t fully understand, so over the last year I replaced 5 digital tools with their analogue counterparts.\n\nIn this video, I’ll explain what’s driving the shift, the impact each of these tools have had on me, and whether or not they’re really as life changing as people claim. \n\n✌️\n\n🐶 SUBSCRIBE FOR LARRY 🐶 https://www.youtube.com/@henrydidit?sub_confirmation=1 \n\n-\n\n📹 WATCH NEXT:\n\nWhy is everyone obsessed with notebooks? What’s really going on?: https://youtu.be/LW_H19w812M?si=e8OS6_me5q5imLsH \n3 notebooks to save you from mindless scrolling: https://youtu.be/ANcJgvAJFaU?si=PzJHri8p1KW9z3Qc \n\n📸 MY OTHER SOCIALS\n\nInstagram: https://www.instagram.com/henrydidit_/ \n\n🙏 CREDITS:\n\nIn the journal section of the video I mention a practice called Morning Pages. This was introduced by Julia Cameron in her book the Artist's Way in 1992. It changed my life and unlocked my creativity at a time when I really needed it. \n\nhttps://juliacameronlive.com/\n\n📖 THE EXCEPTION TO MY ANALOGUE OBSESSION: \n\nI use Shortform to help me decide which books I’m going to buy and to revisit summaries of books I’ve read in the past. It’s really great. So if you want to learn even more from important non-fiction books, check out http://shortform.com/henry You’ll get 5-days of unlimited access + an additional 20% discount on the annual subscription. I get a kickback if you use my link 🤙.\n\n🥁MUSIC I USE:\n\nI get my music from Epidemic Sound. You can check out the tracks I use in my videos in this playlist. \nhttps://www.epidemicsound.com/playlist/p6b1fa9c2k284zfx7y32ra5ozzfd37ej/ \n\n🙏 THANKS:\n\nA huge thanks to my great pal @__clowndisco for his wonderful illustrations. They made the video. Check him out on at https://www.instagram.com/__clowndisco/ \n\n🤙 WHO AM I?\n\nIf we haven’t met yet, hey, I’m Henry. I run a consultancy by day and perform as a magician by night. I’m figuring out how to slow down, stay focused, and make time for the things that bring joy. Sharing what I’m learning as I go.\n\n🍿7,300\n\n🕒 TIMESTAMPS:\n\n00:00 - Intro\n01:55 - Journal\n05:15 - Watch\n07:24 - Camera\n09:58 - Books\n11:42 - Postcards\n\n#analog #digitaldetox #journal #notebook #doomscrolling", "Swapping smart devices for analog changed my life", "c1afe771-4d3c-4c78-a4c8-09777d16b111", 906, false, "uNFDgKFY6Vk", "https://www.youtube.com/watch?v=uNFDgKFY6Vk", 6, "/downloads/Watch Next/Swapping smart devices for analog changed my life/Swapping smart devices for analog changed my life [uNFDgKFY6Vk].mp4", false, false, false, 8, [], 1, ~U[2025-04-14 13:01:36Z], ~U[2026-02-16 18:20:34Z], ~U[2026-02-16 18:20:34Z], "Sign up for the my free newsletter here 👉 https://henrydidit.kit.com/newsletter-signup\n\nIn a world dominated by screens and smart devices, why are people reverting to such a simple way of living? \n\nI didn’t fully understand, so over the last year I replaced 5 digital tools with their analogue counterparts.\n\nIn this video, I’ll explain what’s driving the shift, the impact each of these tools have had on me, and whether or not they’re really as life changing as people claim. \n\n✌️\n\n🐶 SUBSCRIBE FOR LARRY 🐶 https://www.youtube.com/@henrydidit?sub_confirmation=1 \n\n-\n\n📹 WATCH NEXT:\n\nWhy is everyone obsessed with notebooks? What’s really going on?: https://youtu.be/LW_H19w812M?si=e8OS6_me5q5imLsH \n3 notebooks to save you from mindless scrolling: https://youtu.be/ANcJgvAJFaU?si=PzJHri8p1KW9z3Qc \n\n📸 MY OTHER SOCIALS\n\nInstagram: https://www.instagram.com/henrydidit_/ \n\n🙏 CREDITS:\n\nIn the journal section of the video I mention a practice called Morning Pages. This was introduced by Julia Cameron in her book the Artist's Way in 1992. It changed my life and unlocked my creativity at a time when I really needed it. \n\nhttps://juliacameronlive.com/\n\n📖 THE EXCEPTION TO MY ANALOGUE OBSESSION: \n\nI use Shortform to help me decide which books I’m going to buy and to revisit summaries of books I’ve read in the past. It’s really great. So if you want to learn even more from important non-fiction books, check out http://shortform.com/henry You’ll get 5-days of unlimited access + an additional 20% discount on the annual subscription. I get a kickback if you use my link 🤙.\n\n🥁MUSIC I USE:\n\nI get my music from Epidemic Sound. You can check out the tracks I use in my videos in this playlist. \nhttps://www.epidemicsound.com/playlist/p6b1fa9c2k284zfx7y32ra5ozzfd37ej/ \n\n🙏 THANKS:\n\nA huge thanks to my great pal @__clowndisco for his wonderful illustrations. They made the video. Check him out on at https://www.instagram.com/__clowndisco/ \n\n🤙 WHO AM I?\n\nIf we haven’t met yet, hey, I’m Henry. I run a consultancy by day and perform as a magician by night. I’m figuring out how to slow down, stay focused, and make time for the things that bring joy. Sharing what I’m learning as I go.\n\n🍿7,300\n\n🕒 TIMESTAMPS:\n\n00:00 - Intro\n01:55 - Journal\n05:15 - Watch\n07:24 - Camera\n09:58 - Books\n11:42 - Postcards\n\n#analog #digitaldetox #journal #notebook #doomscrolling", "Swapping smart devices for analog changed my life", 906, false, "uNFDgKFY6Vk", "https://www.youtube.com/watch?v=uNFDgKFY6Vk", "/downloads/Watch Next/Swapping smart devices for analog changed my life/Swapping smart devices for analog changed my life [uNFDgKFY6Vk].mp4", false, 8, ~U[2025-04-14 13:01:36Z]] 18:20:34.413 [debug] QUERY OK source="sources" db=0.5ms idle=126.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:34.414 [debug] QUERY OK source="media_profiles" db=0.3ms idle=14.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:20:34.415 [debug] QUERY OK source="media_items" db=0.4ms idle=13.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [17568] 18:20:34.415 [debug] Current batch of media processed. Will check again in 1000ms 18:20:34.576 [info] {"source":"oban","duration":1737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:35.416 [debug] Current batch of media processed. Will check again in 1000ms 18:20:36.417 [debug] Current batch of media processed. Will check again in 1000ms 18:20:37.418 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Sign up for the my free newsletter here 👉 https://henrydidit.kit.com/newsletter-signup\n\nIn the last few years I've become increasingly attached to my phone. Mindlessly scrolling social media was getting in the way of making progress on creative projects, was disrupting my sleep and making me unhappy.\n\nI've been searching for ways to replace this habit with something more productive and in the last year I've experimented with different ways a notebook could fulfill this role.\nHere’s what I’ve learned thus far. \n✌️\n🐶 SUBSCRIBE FOR LARRY 🐶 https://www.youtube.com/@henrydidit?sub_confirmation=1\n\n-\n\n🙏 THANKS:\n\nhttps://www.instagram.com/__clowndisco/ \n\n🍿 WATCH NEXT:\n\nI found the KING of productivity hacks: https://youtu.be/wTJB2v4yZTo?si=WdOwJBtvaPZRVNKi\nThe only book you need to get better at anything: https://youtu.be/j25Fi17ak3E\n\n📸 MY OTHER SOCIALS\n\nInstagram: https://www.instagram.com/henrydidit_/\n\n🙌 CREDITS:\n\nShawn Michaels Wins the Royal Rumble, WWE: https://www.youtube.com/watch?v=GlBeQshE1R8 \nBronny James Goes Off, NBA via ChazNBA: https://youtu.be/2704bsUyByw?si=Fqa1voyGwdl40Duw\nJulia Cameron - Nurturing: https://youtu.be/FLtSptsyh0U?si=mBTVfc5CQQ2Rr0g4 \nMatthew Dicks, The Robery at the Moth Mainstage: https://www.youtube.com/watch?v=QGqYLMO4aBg \nMatthew Dicks, I Swallowed a Penny: NYC Moth StorySLAM: https://www.youtube.com/watch?v=TfNwOdmtLTk \nElizabeth Filips, My Second Brain in Notion - Full Setup: https://www.youtube.com/watch?v=4bxpsvcW2mc&t=20s \nAusitn Kleon, Substack: https://austinkleon.substack.com/ \n\n🙏 FAIR USE: \n\nI believe the clips used in this video fall under the remit of fair use. If any of the owners wish to dispute this I will happily remove the content. I love your work and hope I've represented it fairly and used it in an appropriate context. \n\n📖 HOW I GET THE MOST OUT OF BOOKS I READ: \n\nLearn even more from important non-fiction books at http://shortform.com/henry and receive 5-days of unlimited access + an additional 20% discount on the annual subscription. I get a kickback if you use my link 🤙.\n\n🤝 AFFILIATE PARTNERSHIPS:\n\nSome of the links in this description are affiliate links that I get a kickback from. \n\n🤙 WHO AM I?\n\nIf we haven’t met yet, hey, I’m Henry. I run a consultancy by day and perform as a magician by night. I might have more hobbies than anyone else and am obsessed with learning. Through these videos, I share advice on how to master new skills quickly, follow your creative passions and find the time to work on things that bring you joy. \n\n🕒 TIMESTAMPS:\n\n00:00 - intro\n01:13 - MIND\n03:43 - SOUL\n05:45 - BODY\n\n#journal #notebook #doomscrolling #commonplacebook #pocketnotebook", "duration" => 534, "filename" => "/downloads/Watch Next/3 notebooks to save you from mindless scrolling/3 notebooks to save you from mindless scrolling [ANcJgvAJFaU].mp4", "id" => "ANcJgvAJFaU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ANcJgvAJFaU", "playlist_index" => 7, "timestamp" => 1738445012, "title" => "3 notebooks to save you from mindless scrolling", "upload_date" => "20250201"} 18:20:37.419 [debug] QUERY OK source="sources" db=0.3ms idle=1506.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:20:37.419 [debug] QUERY OK source="sources" db=0.2ms idle=1506.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:37.419 [debug] QUERY OK source="media_items" db=0.2ms idle=1507.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-01 21:23:32Z], 8] 18:20:37.422 [debug] QUERY OK source="media_items" db=1.6ms idle=1127.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Sign up for the my free newsletter here 👉 https://henrydidit.kit.com/newsletter-signup\n\nIn the last few years I've become increasingly attached to my phone. Mindlessly scrolling social media was getting in the way of making progress on creative projects, was disrupting my sleep and making me unhappy.\n\nI've been searching for ways to replace this habit with something more productive and in the last year I've experimented with different ways a notebook could fulfill this role.\nHere’s what I’ve learned thus far. \n✌️\n🐶 SUBSCRIBE FOR LARRY 🐶 https://www.youtube.com/@henrydidit?sub_confirmation=1\n\n-\n\n🙏 THANKS:\n\nhttps://www.instagram.com/__clowndisco/ \n\n🍿 WATCH NEXT:\n\nI found the KING of productivity hacks: https://youtu.be/wTJB2v4yZTo?si=WdOwJBtvaPZRVNKi\nThe only book you need to get better at anything: https://youtu.be/j25Fi17ak3E\n\n📸 MY OTHER SOCIALS\n\nInstagram: https://www.instagram.com/henrydidit_/\n\n🙌 CREDITS:\n\nShawn Michaels Wins the Royal Rumble, WWE: https://www.youtube.com/watch?v=GlBeQshE1R8 \nBronny James Goes Off, NBA via ChazNBA: https://youtu.be/2704bsUyByw?si=Fqa1voyGwdl40Duw\nJulia Cameron - Nurturing: https://youtu.be/FLtSptsyh0U?si=mBTVfc5CQQ2Rr0g4 \nMatthew Dicks, The Robery at the Moth Mainstage: https://www.youtube.com/watch?v=QGqYLMO4aBg \nMatthew Dicks, I Swallowed a Penny: NYC Moth StorySLAM: https://www.youtube.com/watch?v=TfNwOdmtLTk \nElizabeth Filips, My Second Brain in Notion - Full Setup: https://www.youtube.com/watch?v=4bxpsvcW2mc&t=20s \nAusitn Kleon, Substack: https://austinkleon.substack.com/ \n\n🙏 FAIR USE: \n\nI believe the clips used in this video fall under the remit of fair use. If any of the owners wish to dispute this I will happily remove the content. I love your work and hope I've represented it fairly and used it in an appropriate context. \n\n📖 HOW I GET THE MOST OUT OF BOOKS I READ: \n\nLearn even more from important non-fiction books at http://shortform.com/henry and receive 5-days of unlimited access + an additional 20% discount on the annual subscription. I get a kickback if you use my link 🤙.\n\n🤝 AFFILIATE PARTNERSHIPS:\n\nSome of the links in this description are affiliate links that I get a kickback from. \n\n🤙 WHO AM I?\n\nIf we haven’t met yet, hey, I’m Henry. I run a consultancy by day and perform as a magician by night. I might have more hobbies than anyone else and am obsessed with learning. Through these videos, I share advice on how to master new skills quickly, follow your creative passions and find the time to work on things that bring you joy. \n\n🕒 TIMESTAMPS:\n\n00:00 - intro\n01:13 - MIND\n03:43 - SOUL\n05:45 - BODY\n\n#journal #notebook #doomscrolling #commonplacebook #pocketnotebook", "3 notebooks to save you from mindless scrolling", "747db9ce-908a-4d80-a012-eebd92aed892", 534, false, "ANcJgvAJFaU", "https://www.youtube.com/watch?v=ANcJgvAJFaU", 7, "/downloads/Watch Next/3 notebooks to save you from mindless scrolling/3 notebooks to save you from mindless scrolling [ANcJgvAJFaU].mp4", false, false, false, 8, [], 1, ~U[2025-02-01 21:23:32Z], ~U[2026-02-16 18:20:37Z], ~U[2026-02-16 18:20:37Z], "Sign up for the my free newsletter here 👉 https://henrydidit.kit.com/newsletter-signup\n\nIn the last few years I've become increasingly attached to my phone. Mindlessly scrolling social media was getting in the way of making progress on creative projects, was disrupting my sleep and making me unhappy.\n\nI've been searching for ways to replace this habit with something more productive and in the last year I've experimented with different ways a notebook could fulfill this role.\nHere’s what I’ve learned thus far. \n✌️\n🐶 SUBSCRIBE FOR LARRY 🐶 https://www.youtube.com/@henrydidit?sub_confirmation=1\n\n-\n\n🙏 THANKS:\n\nhttps://www.instagram.com/__clowndisco/ \n\n🍿 WATCH NEXT:\n\nI found the KING of productivity hacks: https://youtu.be/wTJB2v4yZTo?si=WdOwJBtvaPZRVNKi\nThe only book you need to get better at anything: https://youtu.be/j25Fi17ak3E\n\n📸 MY OTHER SOCIALS\n\nInstagram: https://www.instagram.com/henrydidit_/\n\n🙌 CREDITS:\n\nShawn Michaels Wins the Royal Rumble, WWE: https://www.youtube.com/watch?v=GlBeQshE1R8 \nBronny James Goes Off, NBA via ChazNBA: https://youtu.be/2704bsUyByw?si=Fqa1voyGwdl40Duw\nJulia Cameron - Nurturing: https://youtu.be/FLtSptsyh0U?si=mBTVfc5CQQ2Rr0g4 \nMatthew Dicks, The Robery at the Moth Mainstage: https://www.youtube.com/watch?v=QGqYLMO4aBg \nMatthew Dicks, I Swallowed a Penny: NYC Moth StorySLAM: https://www.youtube.com/watch?v=TfNwOdmtLTk \nElizabeth Filips, My Second Brain in Notion - Full Setup: https://www.youtube.com/watch?v=4bxpsvcW2mc&t=20s \nAusitn Kleon, Substack: https://austinkleon.substack.com/ \n\n🙏 FAIR USE: \n\nI believe the clips used in this video fall under the remit of fair use. If any of the owners wish to dispute this I will happily remove the content. I love your work and hope I've represented it fairly and used it in an appropriate context. \n\n📖 HOW I GET THE MOST OUT OF BOOKS I READ: \n\nLearn even more from important non-fiction books at http://shortform.com/henry and receive 5-days of unlimited access + an additional 20% discount on the annual subscription. I get a kickback if you use my link 🤙.\n\n🤝 AFFILIATE PARTNERSHIPS:\n\nSome of the links in this description are affiliate links that I get a kickback from. \n\n🤙 WHO AM I?\n\nIf we haven’t met yet, hey, I’m Henry. I run a consultancy by day and perform as a magician by night. I might have more hobbies than anyone else and am obsessed with learning. Through these videos, I share advice on how to master new skills quickly, follow your creative passions and find the time to work on things that bring you joy. \n\n🕒 TIMESTAMPS:\n\n00:00 - intro\n01:13 - MIND\n03:43 - SOUL\n05:45 - BODY\n\n#journal #notebook #doomscrolling #commonplacebook #pocketnotebook", "3 notebooks to save you from mindless scrolling", 534, false, "ANcJgvAJFaU", "https://www.youtube.com/watch?v=ANcJgvAJFaU", "/downloads/Watch Next/3 notebooks to save you from mindless scrolling/3 notebooks to save you from mindless scrolling [ANcJgvAJFaU].mp4", false, 8, ~U[2025-02-01 21:23:32Z]] 18:20:37.422 [debug] QUERY OK source="sources" db=0.3ms idle=128.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:37.423 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:20:37.423 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [17570] 18:20:37.423 [debug] Current batch of media processed. Will check again in 1000ms 18:20:38.424 [debug] Current batch of media processed. Will check again in 1000ms 18:20:39.425 [debug] Current batch of media processed. Will check again in 1000ms 18:20:40.426 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "i love being emotionally manipulated into buying toys\n===========================================================\nTwitch: https://www.twitch.tv/northernlion\nYouTube: https://www.youtube.com/@Northernlion\n===========================================================\nStream date: 07-31-2023\n===========================================================\n#northernlion #clips", "duration" => 818, "filename" => "/downloads/Watch Next/Northernlion explains why Toy Story 2 is transcendent/Northernlion explains why Toy Story 2 is transcendent [e_IcN8NqJvM].mp4", "id" => "e_IcN8NqJvM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=e_IcN8NqJvM", "playlist_index" => 8, "timestamp" => 1690897502, "title" => "Northernlion explains why Toy Story 2 is transcendent", "upload_date" => "20230801"} 18:20:40.427 [debug] QUERY OK source="sources" db=0.4ms idle=1514.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:20:40.428 [debug] QUERY OK source="sources" db=0.9ms queue=0.3ms idle=1515.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:40.429 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=1516.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-08-01 13:45:02Z], 8] 18:20:40.431 [debug] QUERY OK source="media_items" db=1.0ms idle=1133.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["i love being emotionally manipulated into buying toys\n===========================================================\nTwitch: https://www.twitch.tv/northernlion\nYouTube: https://www.youtube.com/@Northernlion\n===========================================================\nStream date: 07-31-2023\n===========================================================\n#northernlion #clips", "Northernlion explains why Toy Story 2 is transcendent", "f140344c-d2d8-4977-97c7-7dea353c897b", 818, false, "e_IcN8NqJvM", "https://www.youtube.com/watch?v=e_IcN8NqJvM", 8, "/downloads/Watch Next/Northernlion explains why Toy Story 2 is transcendent/Northernlion explains why Toy Story 2 is transcendent [e_IcN8NqJvM].mp4", false, false, false, 8, [], 1, ~U[2023-08-01 13:45:02Z], ~U[2026-02-16 18:20:40Z], ~U[2026-02-16 18:20:40Z], "i love being emotionally manipulated into buying toys\n===========================================================\nTwitch: https://www.twitch.tv/northernlion\nYouTube: https://www.youtube.com/@Northernlion\n===========================================================\nStream date: 07-31-2023\n===========================================================\n#northernlion #clips", "Northernlion explains why Toy Story 2 is transcendent", 818, false, "e_IcN8NqJvM", "https://www.youtube.com/watch?v=e_IcN8NqJvM", "/downloads/Watch Next/Northernlion explains why Toy Story 2 is transcendent/Northernlion explains why Toy Story 2 is transcendent [e_IcN8NqJvM].mp4", false, 8, ~U[2023-08-01 13:45:02Z]] 18:20:40.432 [debug] QUERY OK source="sources" db=0.5ms idle=133.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:40.433 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:20:40.437 [debug] QUERY OK source="media_items" db=0.4ms queue=2.2ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [17981] 18:20:40.437 [debug] Current batch of media processed. Will check again in 1000ms 18:20:41.438 [debug] Current batch of media processed. Will check again in 1000ms 18:20:42.439 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "R & L share photos of all the hairstyles they've had. GMM #047\nComment below and tell us about the worst hairstyles you've ever had. **** SUBSCRIBE for daily episodes: http://bit.ly/subrl2 ****\n\nThis episode of GMM is brought to you by Smule! \nhttp://bit.ly/SmuleWebsite \nGet the MadPad apps: http://bit.ly/MadPad-HD-App\nhttp://bit.ly/MadPad-iPhone-App\n\nFor information about sponsoring an episode of GMM, emails us at show@rhettandlink.com\n\nMAIN YOUTUBE CHANNEL: http://youtube.com/rhettandlink\n\nFACEBOOK: \u202Ahttp://bit.ly/rhettandlinkfb\u202C\n\nTWITTER: \u202Ahttp://bit.ly/rltwitter\u202C\n\nGood Mythical Morning is available for download on iTunes!\nVideo Podcast: http://bit.ly/xuJVPc\nAudio Podcast: http://bit.ly/zSewZ6\n\nRhett and Link are Internetainers dedicated to giving you a daily dose of casual comedy every Monday-Friday on our show \"Good Mythical Morning\" only on youtube.com/rhettandlink2. \n\nJOIN the RhettandLinKommunity!\nhttp://bit.ly/rlkommunity\n\nCREDITS: \nCamera, PA, Editing: Jason Inman\nIntro/Outro music: RoyaltyFreeMusicLibrary.com\u202A\u202Ahttp://www.royaltyfreemusiclibrary.com/\u202C\u202C\u00A0\nMicrophone: The Mouse from Blue Microphones: http://www.bluemic.com/mouse/\n\n------------------\nSubscribe if you like what you see!\n------------------", "duration" => 770, "filename" => "/downloads/Watch Next/Our Bad Hairstyles/Our Bad Hairstyles [9kek1VVyiEw].mp4", "id" => "9kek1VVyiEw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9kek1VVyiEw", "playlist_index" => 9, "timestamp" => 1331719209, "title" => "Our Bad Hairstyles", "upload_date" => "20120314"} 18:20:42.439 [debug] QUERY OK source="sources" db=0.2ms idle=527.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:20:42.440 [debug] QUERY OK source="sources" db=0.1ms idle=528.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:42.440 [debug] QUERY OK source="media_items" db=0.2ms idle=528.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-03-14 10:00:09Z], 8] 18:20:42.442 [debug] QUERY OK source="media_items" db=1.0ms idle=528.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["R & L share photos of all the hairstyles they've had. GMM #047\nComment below and tell us about the worst hairstyles you've ever had. **** SUBSCRIBE for daily episodes: http://bit.ly/subrl2 ****\n\nThis episode of GMM is brought to you by Smule! \nhttp://bit.ly/SmuleWebsite \nGet the MadPad apps: http://bit.ly/MadPad-HD-App\nhttp://bit.ly/MadPad-iPhone-App\n\nFor information about sponsoring an episode of GMM, emails us at show@rhettandlink.com\n\nMAIN YOUTUBE CHANNEL: http://youtube.com/rhettandlink\n\nFACEBOOK: \u202Ahttp://bit.ly/rhettandlinkfb\u202C\n\nTWITTER: \u202Ahttp://bit.ly/rltwitter\u202C\n\nGood Mythical Morning is available for download on iTunes!\nVideo Podcast: http://bit.ly/xuJVPc\nAudio Podcast: http://bit.ly/zSewZ6\n\nRhett and Link are Internetainers dedicated to giving you a daily dose of casual comedy every Monday-Friday on our show \"Good Mythical Morning\" only on youtube.com/rhettandlink2. \n\nJOIN the RhettandLinKommunity!\nhttp://bit.ly/rlkommunity\n\nCREDITS: \nCamera, PA, Editing: Jason Inman\nIntro/Outro music: RoyaltyFreeMusicLibrary.com\u202A\u202Ahttp://www.royaltyfreemusiclibrary.com/\u202C\u202C\u00A0\nMicrophone: The Mouse from Blue Microphones: http://www.bluemic.com/mouse/\n\n------------------\nSubscribe if you like what you see!\n------------------", "Our Bad Hairstyles", "96d77058-ce87-4c6e-911f-f921d717ab21", 770, false, "9kek1VVyiEw", "https://www.youtube.com/watch?v=9kek1VVyiEw", 9, "/downloads/Watch Next/Our Bad Hairstyles/Our Bad Hairstyles [9kek1VVyiEw].mp4", false, false, false, 8, [], 1, ~U[2012-03-14 10:00:09Z], ~U[2026-02-16 18:20:42Z], ~U[2026-02-16 18:20:42Z], "R & L share photos of all the hairstyles they've had. GMM #047\nComment below and tell us about the worst hairstyles you've ever had. **** SUBSCRIBE for daily episodes: http://bit.ly/subrl2 ****\n\nThis episode of GMM is brought to you by Smule! \nhttp://bit.ly/SmuleWebsite \nGet the MadPad apps: http://bit.ly/MadPad-HD-App\nhttp://bit.ly/MadPad-iPhone-App\n\nFor information about sponsoring an episode of GMM, emails us at show@rhettandlink.com\n\nMAIN YOUTUBE CHANNEL: http://youtube.com/rhettandlink\n\nFACEBOOK: \u202Ahttp://bit.ly/rhettandlinkfb\u202C\n\nTWITTER: \u202Ahttp://bit.ly/rltwitter\u202C\n\nGood Mythical Morning is available for download on iTunes!\nVideo Podcast: http://bit.ly/xuJVPc\nAudio Podcast: http://bit.ly/zSewZ6\n\nRhett and Link are Internetainers dedicated to giving you a daily dose of casual comedy every Monday-Friday on our show \"Good Mythical Morning\" only on youtube.com/rhettandlink2. \n\nJOIN the RhettandLinKommunity!\nhttp://bit.ly/rlkommunity\n\nCREDITS: \nCamera, PA, Editing: Jason Inman\nIntro/Outro music: RoyaltyFreeMusicLibrary.com\u202A\u202Ahttp://www.royaltyfreemusiclibrary.com/\u202C\u202C\u00A0\nMicrophone: The Mouse from Blue Microphones: http://www.bluemic.com/mouse/\n\n------------------\nSubscribe if you like what you see!\n------------------", "Our Bad Hairstyles", 770, false, "9kek1VVyiEw", "https://www.youtube.com/watch?v=9kek1VVyiEw", "/downloads/Watch Next/Our Bad Hairstyles/Our Bad Hairstyles [9kek1VVyiEw].mp4", false, 8, ~U[2012-03-14 10:00:09Z]] 18:20:42.442 [debug] QUERY OK source="sources" db=0.2ms idle=140.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:42.443 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:20:42.443 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [17990] 18:20:42.443 [debug] Current batch of media processed. Will check again in 1000ms 18:20:43.444 [debug] Current batch of media processed. Will check again in 1000ms 18:20:44.445 [debug] Current batch of media processed. Will check again in 1000ms 18:20:45.446 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Beowulf is one of my favorite stories, taking up an entire chapter of my dissertation. But which edition is the best? This video covers three editions that are popular for very different reasons--I talk about which is best for whom, and which I would choose if I was reading it again.\n\nThis channel is just getting started, so let me know what topics you want me to cover in the description below and be sure to subscribe!\n\nChapters:\n0:00 Intro\n01:22 Why not read the original?\n03:18 Klaeber's Beowulf\n06:21 Seamus Heaney's Beowulf\n11:09 Liuzza's Beowulf\n16:38 Conclusion\n\nThanks for watching!\n\nAffiliate Link Disclaimer: All of the following links are Amazon associate links. As an Amazon Associate I earn from qualifying purchases. This doesn't cost you anything extra, but they help me to keep making more content like this. Thanks for your support!\n\nKlaeber’s Beowulf, Fourth Edition: https://amzn.to/4fQqlfA\nBeowulf: A New Verse Translation by Seamus Heaney: https://amzn.to/4mxBlB0\nBeowulf, 2nd Edition by R.M Liuzza: https://amzn.to/45MMcj8\n\n#beowulf #medievaltales #literature #oldenglish #booktube #englishmajor #beowulftranslation #tolkien #epicpoetry", "duration" => 1224, "filename" => "/downloads/Watch Next/Which Beowulf should YOU read? - Three Editions Compared/Which Beowulf should YOU read? - Three Editions Compared [1-mWVY-xc54].mp4", "id" => "1-mWVY-xc54", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1-mWVY-xc54", "playlist_index" => 10, "timestamp" => 1755901328, "title" => "Which Beowulf should YOU read? - Three Editions Compared", "upload_date" => "20250822"} 18:20:45.446 [debug] QUERY OK source="sources" db=0.2ms idle=1534.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:20:45.447 [debug] QUERY OK source="sources" db=0.1ms idle=1534.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:45.447 [debug] QUERY OK source="media_items" db=0.1ms idle=1535.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-22 22:22:08Z], 8] 18:20:45.448 [debug] QUERY OK source="media_items" db=0.9ms idle=1142.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Beowulf is one of my favorite stories, taking up an entire chapter of my dissertation. But which edition is the best? This video covers three editions that are popular for very different reasons--I talk about which is best for whom, and which I would choose if I was reading it again.\n\nThis channel is just getting started, so let me know what topics you want me to cover in the description below and be sure to subscribe!\n\nChapters:\n0:00 Intro\n01:22 Why not read the original?\n03:18 Klaeber's Beowulf\n06:21 Seamus Heaney's Beowulf\n11:09 Liuzza's Beowulf\n16:38 Conclusion\n\nThanks for watching!\n\nAffiliate Link Disclaimer: All of the following links are Amazon associate links. As an Amazon Associate I earn from qualifying purchases. This doesn't cost you anything extra, but they help me to keep making more content like this. Thanks for your support!\n\nKlaeber’s Beowulf, Fourth Edition: https://amzn.to/4fQqlfA\nBeowulf: A New Verse Translation by Seamus Heaney: https://amzn.to/4mxBlB0\nBeowulf, 2nd Edition by R.M Liuzza: https://amzn.to/45MMcj8\n\n#beowulf #medievaltales #literature #oldenglish #booktube #englishmajor #beowulftranslation #tolkien #epicpoetry", "Which Beowulf should YOU read? - Three Editions Compared", "8d8c1073-9bf4-476b-9936-7b4c2f36a543", 1224, false, "1-mWVY-xc54", "https://www.youtube.com/watch?v=1-mWVY-xc54", 10, "/downloads/Watch Next/Which Beowulf should YOU read? - Three Editions Compared/Which Beowulf should YOU read? - Three Editions Compared [1-mWVY-xc54].mp4", false, false, false, 8, [], 1, ~U[2025-08-22 22:22:08Z], ~U[2026-02-16 18:20:45Z], ~U[2026-02-16 18:20:45Z], "Beowulf is one of my favorite stories, taking up an entire chapter of my dissertation. But which edition is the best? This video covers three editions that are popular for very different reasons--I talk about which is best for whom, and which I would choose if I was reading it again.\n\nThis channel is just getting started, so let me know what topics you want me to cover in the description below and be sure to subscribe!\n\nChapters:\n0:00 Intro\n01:22 Why not read the original?\n03:18 Klaeber's Beowulf\n06:21 Seamus Heaney's Beowulf\n11:09 Liuzza's Beowulf\n16:38 Conclusion\n\nThanks for watching!\n\nAffiliate Link Disclaimer: All of the following links are Amazon associate links. As an Amazon Associate I earn from qualifying purchases. This doesn't cost you anything extra, but they help me to keep making more content like this. Thanks for your support!\n\nKlaeber’s Beowulf, Fourth Edition: https://amzn.to/4fQqlfA\nBeowulf: A New Verse Translation by Seamus Heaney: https://amzn.to/4mxBlB0\nBeowulf, 2nd Edition by R.M Liuzza: https://amzn.to/45MMcj8\n\n#beowulf #medievaltales #literature #oldenglish #booktube #englishmajor #beowulftranslation #tolkien #epicpoetry", "Which Beowulf should YOU read? - Three Editions Compared", 1224, false, "1-mWVY-xc54", "https://www.youtube.com/watch?v=1-mWVY-xc54", "/downloads/Watch Next/Which Beowulf should YOU read? - Three Editions Compared/Which Beowulf should YOU read? - Three Editions Compared [1-mWVY-xc54].mp4", false, 8, ~U[2025-08-22 22:22:08Z]] 18:20:45.449 [debug] QUERY OK source="sources" db=0.2ms idle=141.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:45.449 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:20:45.449 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20149] 18:20:45.450 [debug] Current batch of media processed. Will check again in 1000ms 18:20:46.451 [debug] Current batch of media processed. Will check again in 1000ms 18:20:47.452 [debug] Current batch of media processed. Will check again in 1000ms 18:20:48.453 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get your new setup from FlexiSpot!\nAmazon US:https://amzn.to/3IBsehp\nAmazon CA:https://amzn.to/3CE3L7g\n\nIn this video, I’m taking about some books that I truly love. These are some of the best science fiction novels with philosophical themes. I talk about novels like Brave New World, a Chinese science fiction trilogy, and more. \n\n→ Support the Channel\n\npatreon.com/_jared\n\n→ Timeline\nBeginning 00:00\nBrave New World 00:49\nFlexispot 2:25\nKlara and the Sun 3:38\nParables of the Talents and Sower 5:45\nRemembrance of Earth's Past 7:09\nHainish Cycle 9:19\n\n→ Thinker\nMy free newsletter: jaredhenderson.substack.com\n\n→ Book Links\nBrave New World: https://amzn.to/3R7XG9j\nKlara and the Sun: https://amzn.to/3XJ9UrG\nParable of the Sower and Parable of the Talents: https://amzn.to/3XTH3jV\nThree-Body Problem, The Dark Forest, and Death's End: https://amzn.to/3j2wvA7\nHainish Cycle: https://amzn.to/3ws0xQT\n\n→ Video Gear\nMic: https://amzn.to/3Uw7ZVw\nRecorder: https://amzn.to/3Tz1uQp\nCamera: https://amzn.to/3Ust3MT\nLens: https://amzn.to/3WXbAhd\n\nThese are affiliate links with Amazon. The channel earns a commission from each purchase — but it doesn't cost you anything.", "duration" => 701, "filename" => "/downloads/Watch Next/Philosophical Science Fiction Novels You Should Read/Philosophical Science Fiction Novels You Should Read [Vrd9JnK8cho].mp4", "id" => "Vrd9JnK8cho", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Vrd9JnK8cho", "playlist_index" => 11, "timestamp" => 1674662049, "title" => "Philosophical Science Fiction Novels You Should Read", "upload_date" => "20230125"} 18:20:48.454 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1533.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:20:48.455 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1534.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:48.456 [debug] QUERY OK source="media_items" db=0.4ms idle=1534.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-01-25 15:54:09Z], 8] 18:20:48.458 [debug] QUERY OK source="media_items" db=1.9ms idle=1147.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get your new setup from FlexiSpot!\nAmazon US:https://amzn.to/3IBsehp\nAmazon CA:https://amzn.to/3CE3L7g\n\nIn this video, I’m taking about some books that I truly love. These are some of the best science fiction novels with philosophical themes. I talk about novels like Brave New World, a Chinese science fiction trilogy, and more. \n\n→ Support the Channel\n\npatreon.com/_jared\n\n→ Timeline\nBeginning 00:00\nBrave New World 00:49\nFlexispot 2:25\nKlara and the Sun 3:38\nParables of the Talents and Sower 5:45\nRemembrance of Earth's Past 7:09\nHainish Cycle 9:19\n\n→ Thinker\nMy free newsletter: jaredhenderson.substack.com\n\n→ Book Links\nBrave New World: https://amzn.to/3R7XG9j\nKlara and the Sun: https://amzn.to/3XJ9UrG\nParable of the Sower and Parable of the Talents: https://amzn.to/3XTH3jV\nThree-Body Problem, The Dark Forest, and Death's End: https://amzn.to/3j2wvA7\nHainish Cycle: https://amzn.to/3ws0xQT\n\n→ Video Gear\nMic: https://amzn.to/3Uw7ZVw\nRecorder: https://amzn.to/3Tz1uQp\nCamera: https://amzn.to/3Ust3MT\nLens: https://amzn.to/3WXbAhd\n\nThese are affiliate links with Amazon. The channel earns a commission from each purchase — but it doesn't cost you anything.", "Philosophical Science Fiction Novels You Should Read", "318185af-b4f0-4b81-b55f-bac6b8bf99c5", 701, false, "Vrd9JnK8cho", "https://www.youtube.com/watch?v=Vrd9JnK8cho", 11, "/downloads/Watch Next/Philosophical Science Fiction Novels You Should Read/Philosophical Science Fiction Novels You Should Read [Vrd9JnK8cho].mp4", false, false, false, 8, [], 1, ~U[2023-01-25 15:54:09Z], ~U[2026-02-16 18:20:48Z], ~U[2026-02-16 18:20:48Z], "Get your new setup from FlexiSpot!\nAmazon US:https://amzn.to/3IBsehp\nAmazon CA:https://amzn.to/3CE3L7g\n\nIn this video, I’m taking about some books that I truly love. These are some of the best science fiction novels with philosophical themes. I talk about novels like Brave New World, a Chinese science fiction trilogy, and more. \n\n→ Support the Channel\n\npatreon.com/_jared\n\n→ Timeline\nBeginning 00:00\nBrave New World 00:49\nFlexispot 2:25\nKlara and the Sun 3:38\nParables of the Talents and Sower 5:45\nRemembrance of Earth's Past 7:09\nHainish Cycle 9:19\n\n→ Thinker\nMy free newsletter: jaredhenderson.substack.com\n\n→ Book Links\nBrave New World: https://amzn.to/3R7XG9j\nKlara and the Sun: https://amzn.to/3XJ9UrG\nParable of the Sower and Parable of the Talents: https://amzn.to/3XTH3jV\nThree-Body Problem, The Dark Forest, and Death's End: https://amzn.to/3j2wvA7\nHainish Cycle: https://amzn.to/3ws0xQT\n\n→ Video Gear\nMic: https://amzn.to/3Uw7ZVw\nRecorder: https://amzn.to/3Tz1uQp\nCamera: https://amzn.to/3Ust3MT\nLens: https://amzn.to/3WXbAhd\n\nThese are affiliate links with Amazon. The channel earns a commission from each purchase — but it doesn't cost you anything.", "Philosophical Science Fiction Novels You Should Read", 701, false, "Vrd9JnK8cho", "https://www.youtube.com/watch?v=Vrd9JnK8cho", "/downloads/Watch Next/Philosophical Science Fiction Novels You Should Read/Philosophical Science Fiction Novels You Should Read [Vrd9JnK8cho].mp4", false, 8, ~U[2023-01-25 15:54:09Z]] 18:20:48.459 [debug] QUERY OK source="sources" db=0.2ms idle=147.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:48.459 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:20:48.460 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20160] 18:20:48.460 [debug] Current batch of media processed. Will check again in 1000ms 18:20:49.461 [debug] Current batch of media processed. Will check again in 1000ms 18:20:50.462 [debug] Current batch of media processed. Will check again in 1000ms 18:20:51.463 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "‣ Adapted largely from The Invisible Hook. It's great, go read it: https://www.amazon.com/Invisible-Hook-Hidden-Economics-Pirates/dp/0691150095\n‣ Grey's 2-hour Director's Commentary: https://www.youtube.com/watch?v=efhut46ylC4&list=PLqs5ohhass_Ti_MyDhtRvw59GgGKcdstB\n\n## Special Thanks\n\nPeter T. Leeson for reviewing a draft of the script. Check out his newest book, \"WTF?!: An Economic Tour of the Weird\": https://amzn.to/3eEMm09 \n\n\n## Bonnie Bees\n\nSteven Snow, Bob Kunz, John Buchan, Nevin Spoljaric, Donal Botkin, BN-12, Chris Chapin, Richard Jenkins, Phil Gardner, Martin, سليمان العقل, Steven Grimm, Colin Millions, Saki Comandao, Jason Lewandowski, Andrea Di Biagio, David F Watson, Ben Schwab, Elliot Lepley, rictic, Bobby, Marco Arment, Shallon Brown, Shantanu Raj, emptymachine, George Lin, Henry Ng, Jeffrey Podis, Thunda Plum, Awoo, David Tyler, Derek Bonner, Derek Jackson, Fuesu, iulus, Jordan Earls, Joshua Jamison, Mikko, Nick Fish, Nick Gibson, Orbit_Junkie, Ron Bowes, Tómas Árni Jónasson, Tyler Bryant, Zach Whittle, Oliver Steele, Kermit Norlund, Kevin Costello, Ben Delo, Arctic May, Bear, chrysilis, David Palomares, Emil, Erik Parasiuk, Esteban Santana Santana, Freddi Hørlyck, Frederick The Great, John Rogers, ken mcfarlane, Leon, Maarten van der Blij, Peter Lomax, Rhys Parry, ShiroiYami, Tijmen van Dien, Tristan Watts-Willis, Veronica Peshterianu, Dag Viggo Lokøen, John Lee, Maxime Zielony, Bryan McLemore, Elizabeth Keathley, Alex Simonides, Felix Weis, Melvin Sowah, Giulio Bontadini, Paul Alom, Ryan Tripicchio, Scot Melville\n\n\n## Music\n\nDavid Rees: http://www.davidreesmusic.com", "duration" => 441, "filename" => "/downloads/Watch Next/The Business of Piracy: How Pirate Ships Actually Worked/The Business of Piracy: How Pirate Ships Actually Worked [T0fAznO1wA8].mp4", "id" => "T0fAznO1wA8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=T0fAznO1wA8", "playlist_index" => 12, "timestamp" => 1591117212, "title" => "The Business of Piracy: How Pirate Ships Actually Worked", "upload_date" => "20200602"} 18:20:51.464 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1543.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:20:51.465 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1544.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:51.466 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=1545.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-06-02 17:00:12Z], 8] 18:20:51.471 [debug] QUERY OK source="media_items" db=3.5ms idle=1150.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["‣ Adapted largely from The Invisible Hook. It's great, go read it: https://www.amazon.com/Invisible-Hook-Hidden-Economics-Pirates/dp/0691150095\n‣ Grey's 2-hour Director's Commentary: https://www.youtube.com/watch?v=efhut46ylC4&list=PLqs5ohhass_Ti_MyDhtRvw59GgGKcdstB\n\n## Special Thanks\n\nPeter T. Leeson for reviewing a draft of the script. Check out his newest book, \"WTF?!: An Economic Tour of the Weird\": https://amzn.to/3eEMm09 \n\n\n## Bonnie Bees\n\nSteven Snow, Bob Kunz, John Buchan, Nevin Spoljaric, Donal Botkin, BN-12, Chris Chapin, Richard Jenkins, Phil Gardner, Martin, سليمان العقل, Steven Grimm, Colin Millions, Saki Comandao, Jason Lewandowski, Andrea Di Biagio, David F Watson, Ben Schwab, Elliot Lepley, rictic, Bobby, Marco Arment, Shallon Brown, Shantanu Raj, emptymachine, George Lin, Henry Ng, Jeffrey Podis, Thunda Plum, Awoo, David Tyler, Derek Bonner, Derek Jackson, Fuesu, iulus, Jordan Earls, Joshua Jamison, Mikko, Nick Fish, Nick Gibson, Orbit_Junkie, Ron Bowes, Tómas Árni Jónasson, Tyler Bryant, Zach Whittle, Oliver Steele, Kermit Norlund, Kevin Costello, Ben Delo, Arctic May, Bear, chrysilis, David Palomares, Emil, Erik Parasiuk, Esteban Santana Santana, Freddi Hørlyck, Frederick The Great, John Rogers, ken mcfarlane, Leon, Maarten van der Blij, Peter Lomax, Rhys Parry, ShiroiYami, Tijmen van Dien, Tristan Watts-Willis, Veronica Peshterianu, Dag Viggo Lokøen, John Lee, Maxime Zielony, Bryan McLemore, Elizabeth Keathley, Alex Simonides, Felix Weis, Melvin Sowah, Giulio Bontadini, Paul Alom, Ryan Tripicchio, Scot Melville\n\n\n## Music\n\nDavid Rees: http://www.davidreesmusic.com", "The Business of Piracy: How Pirate Ships Actually Worked", "7c1ac809-91be-4722-9a7f-d051cfbd4ea1", 441, false, "T0fAznO1wA8", "https://www.youtube.com/watch?v=T0fAznO1wA8", 12, "/downloads/Watch Next/The Business of Piracy: How Pirate Ships Actually Worked/The Business of Piracy: How Pirate Ships Actually Worked [T0fAznO1wA8].mp4", false, false, false, 8, [], 1, ~U[2020-06-02 17:00:12Z], ~U[2026-02-16 18:20:51Z], ~U[2026-02-16 18:20:51Z], "‣ Adapted largely from The Invisible Hook. It's great, go read it: https://www.amazon.com/Invisible-Hook-Hidden-Economics-Pirates/dp/0691150095\n‣ Grey's 2-hour Director's Commentary: https://www.youtube.com/watch?v=efhut46ylC4&list=PLqs5ohhass_Ti_MyDhtRvw59GgGKcdstB\n\n## Special Thanks\n\nPeter T. Leeson for reviewing a draft of the script. Check out his newest book, \"WTF?!: An Economic Tour of the Weird\": https://amzn.to/3eEMm09 \n\n\n## Bonnie Bees\n\nSteven Snow, Bob Kunz, John Buchan, Nevin Spoljaric, Donal Botkin, BN-12, Chris Chapin, Richard Jenkins, Phil Gardner, Martin, سليمان العقل, Steven Grimm, Colin Millions, Saki Comandao, Jason Lewandowski, Andrea Di Biagio, David F Watson, Ben Schwab, Elliot Lepley, rictic, Bobby, Marco Arment, Shallon Brown, Shantanu Raj, emptymachine, George Lin, Henry Ng, Jeffrey Podis, Thunda Plum, Awoo, David Tyler, Derek Bonner, Derek Jackson, Fuesu, iulus, Jordan Earls, Joshua Jamison, Mikko, Nick Fish, Nick Gibson, Orbit_Junkie, Ron Bowes, Tómas Árni Jónasson, Tyler Bryant, Zach Whittle, Oliver Steele, Kermit Norlund, Kevin Costello, Ben Delo, Arctic May, Bear, chrysilis, David Palomares, Emil, Erik Parasiuk, Esteban Santana Santana, Freddi Hørlyck, Frederick The Great, John Rogers, ken mcfarlane, Leon, Maarten van der Blij, Peter Lomax, Rhys Parry, ShiroiYami, Tijmen van Dien, Tristan Watts-Willis, Veronica Peshterianu, Dag Viggo Lokøen, John Lee, Maxime Zielony, Bryan McLemore, Elizabeth Keathley, Alex Simonides, Felix Weis, Melvin Sowah, Giulio Bontadini, Paul Alom, Ryan Tripicchio, Scot Melville\n\n\n## Music\n\nDavid Rees: http://www.davidreesmusic.com", "The Business of Piracy: How Pirate Ships Actually Worked", 441, false, "T0fAznO1wA8", "https://www.youtube.com/watch?v=T0fAznO1wA8", "/downloads/Watch Next/The Business of Piracy: How Pirate Ships Actually Worked/The Business of Piracy: How Pirate Ships Actually Worked [T0fAznO1wA8].mp4", false, 8, ~U[2020-06-02 17:00:12Z]] 18:20:51.472 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=153.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:51.473 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:20:51.475 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=8.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20373] 18:20:51.475 [debug] Current batch of media processed. Will check again in 1000ms 18:20:52.476 [debug] Current batch of media processed. Will check again in 1000ms 18:20:53.477 [debug] Current batch of media processed. Will check again in 1000ms 18:20:54.478 [debug] Current batch of media processed. Will check again in 1000ms 18:20:55.479 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "so, like, how do record players, cassette tapes, CD's all hold \"sound\" ?????\nidk tbh. just kinda guessed. (i spent a week researching for this video)\nalso i have Instagram: https://www.instagram.com/basically_him/ \ni might start putting stuff on there idk", "duration" => 337, "filename" => "/downloads/Watch Next/How Does This Stuff Make Sound???/How Does This Stuff Make Sound??? [-7PYX0ohST4].mp4", "id" => "-7PYX0ohST4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-7PYX0ohST4", "playlist_index" => 13, "timestamp" => 1703994350, "title" => "How Does This Stuff Make Sound???", "upload_date" => "20231231"} 18:20:55.481 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=559.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:20:55.482 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=561.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:55.484 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=562.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-12-31 03:45:50Z], 8] 18:20:55.486 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=564.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["so, like, how do record players, cassette tapes, CD's all hold \"sound\" ?????\nidk tbh. just kinda guessed. (i spent a week researching for this video)\nalso i have Instagram: https://www.instagram.com/basically_him/ \ni might start putting stuff on there idk", "How Does This Stuff Make Sound???", "2cc316b8-0922-4dd3-b239-c5d818517609", 337, false, "-7PYX0ohST4", "https://www.youtube.com/watch?v=-7PYX0ohST4", 13, "/downloads/Watch Next/How Does This Stuff Make Sound???/How Does This Stuff Make Sound??? [-7PYX0ohST4].mp4", false, false, false, 8, [], 1, ~U[2023-12-31 03:45:50Z], ~U[2026-02-16 18:20:55Z], ~U[2026-02-16 18:20:55Z], "so, like, how do record players, cassette tapes, CD's all hold \"sound\" ?????\nidk tbh. just kinda guessed. (i spent a week researching for this video)\nalso i have Instagram: https://www.instagram.com/basically_him/ \ni might start putting stuff on there idk", "How Does This Stuff Make Sound???", 337, false, "-7PYX0ohST4", "https://www.youtube.com/watch?v=-7PYX0ohST4", "/downloads/Watch Next/How Does This Stuff Make Sound???/How Does This Stuff Make Sound??? [-7PYX0ohST4].mp4", false, 8, ~U[2023-12-31 03:45:50Z]] 18:20:55.486 [debug] QUERY OK source="sources" db=0.3ms idle=160.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:55.487 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:20:55.487 [debug] QUERY OK source="media_items" db=0.3ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20374] 18:20:55.487 [debug] Current batch of media processed. Will check again in 1000ms 18:20:56.488 [debug] Current batch of media processed. Will check again in 1000ms 18:20:57.489 [debug] Current batch of media processed. Will check again in 1000ms 18:20:58.490 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I photographed the Milky Way from every light pollution level, to see how it affects night sky photos. I did this using my Nikon Z5II camera and NIKKOR Z 14-24MM F/2.8 S Lens. HUGE shoutout to Nikon for sponsoring this video and making this possible!\n\nFREE Bortle Scale Chart on my Patreon: https://patreon.com/IanLauerAstro\n\nAFFILIATE LINKS\nNikon Z5II Camera: https://amzn.to/4r06RtZ\nNIKKOR Z 14-24MM F/2.8 S Lens: https://amzn.to/3JyZCZm\nTripod: https://amzn.to/447h0v5\nMicrophone: https://amzn.to/47aKPeU\n\nASTROPHOTO RESOURCES\nFREE Beginner Telescope Guide: https://shorturl.at/ONTLo\nLearn Deep Space Photography: https://shorturl.at/gYHOy\nNewsletter for bite-sized astro updates: https://shorturl.at/qOYgN\n\nUpcoming Astro Workshops: https://stargazertours.com/\nStargazer Clothing: https://shorturl.at/O5RtM\n\nSocial media:\nhttps://www.instagram.com/ianlauerastro\nhttps://www.facebook.com/ianlauerastro\nhttps://x.com/ianlauerastro\n\n#nikon", "duration" => 898, "filename" => "/downloads/Watch Next/Shooting the Milky Way from Every Light Pollution Level/Shooting the Milky Way from Every Light Pollution Level [sRuLSFmBIFs].mp4", "id" => "sRuLSFmBIFs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sRuLSFmBIFs", "playlist_index" => 14, "timestamp" => 1763215297, "title" => "Shooting the Milky Way from Every Light Pollution Level", "upload_date" => "20251115"} 18:20:58.491 [debug] QUERY OK source="sources" db=0.5ms idle=1570.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:20:58.492 [debug] QUERY OK source="sources" db=0.4ms queue=0.4ms idle=1571.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:58.493 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms idle=1572.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-15 14:01:37Z], 8] 18:20:58.496 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=1165.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I photographed the Milky Way from every light pollution level, to see how it affects night sky photos. I did this using my Nikon Z5II camera and NIKKOR Z 14-24MM F/2.8 S Lens. HUGE shoutout to Nikon for sponsoring this video and making this possible!\n\nFREE Bortle Scale Chart on my Patreon: https://patreon.com/IanLauerAstro\n\nAFFILIATE LINKS\nNikon Z5II Camera: https://amzn.to/4r06RtZ\nNIKKOR Z 14-24MM F/2.8 S Lens: https://amzn.to/3JyZCZm\nTripod: https://amzn.to/447h0v5\nMicrophone: https://amzn.to/47aKPeU\n\nASTROPHOTO RESOURCES\nFREE Beginner Telescope Guide: https://shorturl.at/ONTLo\nLearn Deep Space Photography: https://shorturl.at/gYHOy\nNewsletter for bite-sized astro updates: https://shorturl.at/qOYgN\n\nUpcoming Astro Workshops: https://stargazertours.com/\nStargazer Clothing: https://shorturl.at/O5RtM\n\nSocial media:\nhttps://www.instagram.com/ianlauerastro\nhttps://www.facebook.com/ianlauerastro\nhttps://x.com/ianlauerastro\n\n#nikon", "Shooting the Milky Way from Every Light Pollution Level", "a8dd346e-4f9b-44aa-b0d3-eb23ee4583c2", 898, false, "sRuLSFmBIFs", "https://www.youtube.com/watch?v=sRuLSFmBIFs", 14, "/downloads/Watch Next/Shooting the Milky Way from Every Light Pollution Level/Shooting the Milky Way from Every Light Pollution Level [sRuLSFmBIFs].mp4", false, false, false, 8, [], 1, ~U[2025-11-15 14:01:37Z], ~U[2026-02-16 18:20:58Z], ~U[2026-02-16 18:20:58Z], "I photographed the Milky Way from every light pollution level, to see how it affects night sky photos. I did this using my Nikon Z5II camera and NIKKOR Z 14-24MM F/2.8 S Lens. HUGE shoutout to Nikon for sponsoring this video and making this possible!\n\nFREE Bortle Scale Chart on my Patreon: https://patreon.com/IanLauerAstro\n\nAFFILIATE LINKS\nNikon Z5II Camera: https://amzn.to/4r06RtZ\nNIKKOR Z 14-24MM F/2.8 S Lens: https://amzn.to/3JyZCZm\nTripod: https://amzn.to/447h0v5\nMicrophone: https://amzn.to/47aKPeU\n\nASTROPHOTO RESOURCES\nFREE Beginner Telescope Guide: https://shorturl.at/ONTLo\nLearn Deep Space Photography: https://shorturl.at/gYHOy\nNewsletter for bite-sized astro updates: https://shorturl.at/qOYgN\n\nUpcoming Astro Workshops: https://stargazertours.com/\nStargazer Clothing: https://shorturl.at/O5RtM\n\nSocial media:\nhttps://www.instagram.com/ianlauerastro\nhttps://www.facebook.com/ianlauerastro\nhttps://x.com/ianlauerastro\n\n#nikon", "Shooting the Milky Way from Every Light Pollution Level", 898, false, "sRuLSFmBIFs", "https://www.youtube.com/watch?v=sRuLSFmBIFs", "/downloads/Watch Next/Shooting the Milky Way from Every Light Pollution Level/Shooting the Milky Way from Every Light Pollution Level [sRuLSFmBIFs].mp4", false, 8, ~U[2025-11-15 14:01:37Z]] 18:20:58.496 [debug] QUERY OK source="sources" db=0.2ms idle=165.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:20:58.497 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:20:58.497 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20375] 18:20:58.497 [debug] Current batch of media processed. Will check again in 1000ms 18:20:59.498 [debug] Current batch of media processed. Will check again in 1000ms 18:21:00.499 [debug] Current batch of media processed. Will check again in 1000ms 18:21:00.665 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:21:01.500 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 2.0, "description" => "On a dry lakebed in Nevada, a group of friends build the first scale model of the solar system with complete planetary orbits: a true illustration of our place in the universe.\n\nWe're making a series! Check the project out at www.ToScaleSeries.com\nConsider becoming a Patreon to support more films like this: patreon.com/toscale\n\nA film by Wylie Overstreet and Alex Gorosh\nwylieoverstreet.com\nalexgorosh.com\n_____\n\nHelp us caption & translate this short film:\nhttp://amara.org/v/HHTb/\n\nCopyright (C) 2015", "duration" => 427, "filename" => "/downloads/Watch Next/To Scale: THE SOLAR SYSTEM/To Scale: THE SOLAR SYSTEM [zR3Igc3Rhfg].mp4", "id" => "zR3Igc3Rhfg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zR3Igc3Rhfg", "playlist_index" => 15, "timestamp" => 1442401023, "title" => "To Scale: THE SOLAR SYSTEM", "upload_date" => "20150916"} 18:21:01.501 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1580.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:21:01.503 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=1581.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:01.505 [debug] QUERY OK source="media_items" db=1.3ms idle=1170.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2015-09-16 10:57:03Z], 8] 18:21:01.508 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=840.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["On a dry lakebed in Nevada, a group of friends build the first scale model of the solar system with complete planetary orbits: a true illustration of our place in the universe.\n\nWe're making a series! Check the project out at www.ToScaleSeries.com\nConsider becoming a Patreon to support more films like this: patreon.com/toscale\n\nA film by Wylie Overstreet and Alex Gorosh\nwylieoverstreet.com\nalexgorosh.com\n_____\n\nHelp us caption & translate this short film:\nhttp://amara.org/v/HHTb/\n\nCopyright (C) 2015", "To Scale: THE SOLAR SYSTEM", "f281fd4d-11cf-4cc6-8bf4-432a19662772", 427, false, "zR3Igc3Rhfg", "https://www.youtube.com/watch?v=zR3Igc3Rhfg", 15, "/downloads/Watch Next/To Scale: THE SOLAR SYSTEM/To Scale: THE SOLAR SYSTEM [zR3Igc3Rhfg].mp4", false, false, false, 8, [], 1, ~U[2015-09-16 10:57:03Z], ~U[2026-02-16 18:21:01Z], ~U[2026-02-16 18:21:01Z], "On a dry lakebed in Nevada, a group of friends build the first scale model of the solar system with complete planetary orbits: a true illustration of our place in the universe.\n\nWe're making a series! Check the project out at www.ToScaleSeries.com\nConsider becoming a Patreon to support more films like this: patreon.com/toscale\n\nA film by Wylie Overstreet and Alex Gorosh\nwylieoverstreet.com\nalexgorosh.com\n_____\n\nHelp us caption & translate this short film:\nhttp://amara.org/v/HHTb/\n\nCopyright (C) 2015", "To Scale: THE SOLAR SYSTEM", 427, false, "zR3Igc3Rhfg", "https://www.youtube.com/watch?v=zR3Igc3Rhfg", "/downloads/Watch Next/To Scale: THE SOLAR SYSTEM/To Scale: THE SOLAR SYSTEM [zR3Igc3Rhfg].mp4", false, 8, ~U[2015-09-16 10:57:03Z]] 18:21:01.510 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=173.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:01.511 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=8.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:21:01.512 [debug] QUERY OK source="media_items" db=0.9ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20376] 18:21:01.513 [debug] Current batch of media processed. Will check again in 1000ms 18:21:02.514 [debug] Current batch of media processed. Will check again in 1000ms 18:21:03.515 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://80000hours.org/jaredhenderson to start planning a career that is meaningful, fulfilling, and helps solve one of the world’s most pressing problems.\n\nSince we're at the end of the year, I wanted to share the best books I read in 2025.\n\nBooks mentioned: The Honourable Schoolboy by John Le Carré, Ficciones by Borges, No Longer Human by Osamu Dazai, Remains of the Day by Kazuo Ishiguro, On The Calculation of Volume by Solvej Balle, The Affirmation of Life by Bernard Reginster, Technopoly by Neil Postman, and Hegel by Frederick Beiser.\n\nI run a book club on Substack! Check it out here: https://jaredhenderson.substack.com/p/everything-you-need-to-know-about\n\nWatch my videos early on Nebula: https://go.nebula.tv/jaredhenderson\n\n00:00 Intro\n00:28 The Honourable Schoolboy (John Le Carre)\n02:52 Ficciones (Jorge Luis Borges)\n08:11 The Remains of the Day (Kazuo Ishiguro)\n12:30 On the Calculation of Volume (Solvej Balle)\n15:40 No Longer Human (Osamu Dazai)\n20:29 The Affirmation of Life (Bernard Reginster)\n25:05 Hegel (Frederick Beiser)\n28:47 Technopoly (Neil Postman)", "duration" => 2149, "filename" => "/downloads/Watch Next/These are the 8 best books I read in 2025/These are the 8 best books I read in 2025 [U0REsgdTVmI].mp4", "id" => "U0REsgdTVmI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=U0REsgdTVmI", "playlist_index" => 16, "timestamp" => 1766506590, "title" => "These are the 8 best books I read in 2025", "upload_date" => "20251223"} 18:21:03.515 [debug] QUERY OK source="sources" db=0.1ms idle=595.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:21:03.516 [debug] QUERY OK source="sources" db=0.2ms idle=595.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:03.516 [debug] QUERY OK source="media_items" db=0.1ms idle=596.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-23 16:16:30Z], 8] 18:21:03.517 [debug] QUERY OK source="media_items" db=0.9ms idle=596.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://80000hours.org/jaredhenderson to start planning a career that is meaningful, fulfilling, and helps solve one of the world’s most pressing problems.\n\nSince we're at the end of the year, I wanted to share the best books I read in 2025.\n\nBooks mentioned: The Honourable Schoolboy by John Le Carré, Ficciones by Borges, No Longer Human by Osamu Dazai, Remains of the Day by Kazuo Ishiguro, On The Calculation of Volume by Solvej Balle, The Affirmation of Life by Bernard Reginster, Technopoly by Neil Postman, and Hegel by Frederick Beiser.\n\nI run a book club on Substack! Check it out here: https://jaredhenderson.substack.com/p/everything-you-need-to-know-about\n\nWatch my videos early on Nebula: https://go.nebula.tv/jaredhenderson\n\n00:00 Intro\n00:28 The Honourable Schoolboy (John Le Carre)\n02:52 Ficciones (Jorge Luis Borges)\n08:11 The Remains of the Day (Kazuo Ishiguro)\n12:30 On the Calculation of Volume (Solvej Balle)\n15:40 No Longer Human (Osamu Dazai)\n20:29 The Affirmation of Life (Bernard Reginster)\n25:05 Hegel (Frederick Beiser)\n28:47 Technopoly (Neil Postman)", "These are the 8 best books I read in 2025", "5f77a12d-01b8-4346-883e-a7372d766e5b", 2149, false, "U0REsgdTVmI", "https://www.youtube.com/watch?v=U0REsgdTVmI", 16, "/downloads/Watch Next/These are the 8 best books I read in 2025/These are the 8 best books I read in 2025 [U0REsgdTVmI].mp4", false, false, false, 8, [], 1, ~U[2025-12-23 16:16:30Z], ~U[2026-02-16 18:21:03Z], ~U[2026-02-16 18:21:03Z], "Head to https://80000hours.org/jaredhenderson to start planning a career that is meaningful, fulfilling, and helps solve one of the world’s most pressing problems.\n\nSince we're at the end of the year, I wanted to share the best books I read in 2025.\n\nBooks mentioned: The Honourable Schoolboy by John Le Carré, Ficciones by Borges, No Longer Human by Osamu Dazai, Remains of the Day by Kazuo Ishiguro, On The Calculation of Volume by Solvej Balle, The Affirmation of Life by Bernard Reginster, Technopoly by Neil Postman, and Hegel by Frederick Beiser.\n\nI run a book club on Substack! Check it out here: https://jaredhenderson.substack.com/p/everything-you-need-to-know-about\n\nWatch my videos early on Nebula: https://go.nebula.tv/jaredhenderson\n\n00:00 Intro\n00:28 The Honourable Schoolboy (John Le Carre)\n02:52 Ficciones (Jorge Luis Borges)\n08:11 The Remains of the Day (Kazuo Ishiguro)\n12:30 On the Calculation of Volume (Solvej Balle)\n15:40 No Longer Human (Osamu Dazai)\n20:29 The Affirmation of Life (Bernard Reginster)\n25:05 Hegel (Frederick Beiser)\n28:47 Technopoly (Neil Postman)", "These are the 8 best books I read in 2025", 2149, false, "U0REsgdTVmI", "https://www.youtube.com/watch?v=U0REsgdTVmI", "/downloads/Watch Next/These are the 8 best books I read in 2025/These are the 8 best books I read in 2025 [U0REsgdTVmI].mp4", false, 8, ~U[2025-12-23 16:16:30Z]] 18:21:03.518 [debug] QUERY OK source="sources" db=0.1ms idle=179.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:03.518 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:21:03.519 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20392] 18:21:03.519 [debug] Current batch of media processed. Will check again in 1000ms 18:21:04.520 [debug] Current batch of media processed. Will check again in 1000ms 18:21:04.577 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:05.521 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video, I’m giving more book recommendations. This time, we’re discussing philosophical science fiction novels. I include a few science fiction classics, like Foundation by Asimov, and a few of my personal favorites as well. \n\n→ Support\nJoin this channel to get access to perks:\nhttps://www.youtube.com/channel/UC2Ky...\n\nOr support me on Patreon: https://www.patreon.com/user?u=84329184\n\n→ Book Links\n\nDune: https://amzn.to/3IyDs5P\nSolaris: https://amzn.to/3xxUKK5\nCloud Atlas: https://amzn.to/3IekCj6\nFoundation: https://amzn.to/3Ek47ASA \nCanticle for Leibowitz: https://amzn.to/3k3buWL\nAnathem: https://amzn.to/3Z3lSwv\nFrankenstein: https://amzn.to/3KizVKd\nThe Man in the High Castle: https://amzn.to/3Ehj1In\nAncillary Justice: https://amzn.to/3k7nnL4\nCulture Novels: https://amzn.to/3IIv0Br\nMemory Called Empire: https://amzn.to/3Z2EVHk\n\n\n→ Want to send me something?\nPO Box 660298\nAustin, TX 78766\n\n→ Thinker\nMy newsletter, all about philosophy: jaredhenderson.substack.com\n\n→ The Classical Mind\nCheck out my podcast where I discuss a great work of literature or philosophy every month: https://theclassicalmind.com\n\n→ Video Gear\nMic: https://amzn.to/3Uw7ZVw\nRecorder: https://amzn.to/3Tz1uQp\nCamera: https://amzn.to/3Ust3MT\nLens: https://amzn.to/3WXbAhd\n\nThese are affiliate links with Amazon. The channel earns a commission from each purchase — but it doesn't cost you anything.", "duration" => 610, "filename" => "/downloads/Watch Next/7 Philosophical Science Fiction Novels You Need to Read/7 Philosophical Science Fiction Novels You Need to Read [P-LFuvKv_bI].mp4", "id" => "P-LFuvKv_bI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=P-LFuvKv_bI", "playlist_index" => 17, "timestamp" => 1676745169, "title" => "7 Philosophical Science Fiction Novels You Need to Read", "upload_date" => "20230218"} 18:21:05.521 [debug] QUERY OK source="sources" db=0.2ms idle=943.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:21:05.522 [debug] QUERY OK source="sources" db=0.3ms idle=601.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:05.523 [debug] QUERY OK source="media_items" db=0.3ms idle=602.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-02-18 18:32:49Z], 8] 18:21:05.524 [debug] QUERY OK source="media_items" db=1.0ms idle=603.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I’m giving more book recommendations. This time, we’re discussing philosophical science fiction novels. I include a few science fiction classics, like Foundation by Asimov, and a few of my personal favorites as well. \n\n→ Support\nJoin this channel to get access to perks:\nhttps://www.youtube.com/channel/UC2Ky...\n\nOr support me on Patreon: https://www.patreon.com/user?u=84329184\n\n→ Book Links\n\nDune: https://amzn.to/3IyDs5P\nSolaris: https://amzn.to/3xxUKK5\nCloud Atlas: https://amzn.to/3IekCj6\nFoundation: https://amzn.to/3Ek47ASA \nCanticle for Leibowitz: https://amzn.to/3k3buWL\nAnathem: https://amzn.to/3Z3lSwv\nFrankenstein: https://amzn.to/3KizVKd\nThe Man in the High Castle: https://amzn.to/3Ehj1In\nAncillary Justice: https://amzn.to/3k7nnL4\nCulture Novels: https://amzn.to/3IIv0Br\nMemory Called Empire: https://amzn.to/3Z2EVHk\n\n\n→ Want to send me something?\nPO Box 660298\nAustin, TX 78766\n\n→ Thinker\nMy newsletter, all about philosophy: jaredhenderson.substack.com\n\n→ The Classical Mind\nCheck out my podcast where I discuss a great work of literature or philosophy every month: https://theclassicalmind.com\n\n→ Video Gear\nMic: https://amzn.to/3Uw7ZVw\nRecorder: https://amzn.to/3Tz1uQp\nCamera: https://amzn.to/3Ust3MT\nLens: https://amzn.to/3WXbAhd\n\nThese are affiliate links with Amazon. The channel earns a commission from each purchase — but it doesn't cost you anything.", "7 Philosophical Science Fiction Novels You Need to Read", "047ae2f1-273d-4c36-837d-9420d74b9396", 610, false, "P-LFuvKv_bI", "https://www.youtube.com/watch?v=P-LFuvKv_bI", 17, "/downloads/Watch Next/7 Philosophical Science Fiction Novels You Need to Read/7 Philosophical Science Fiction Novels You Need to Read [P-LFuvKv_bI].mp4", false, false, false, 8, [], 1, ~U[2023-02-18 18:32:49Z], ~U[2026-02-16 18:21:05Z], ~U[2026-02-16 18:21:05Z], "In this video, I’m giving more book recommendations. This time, we’re discussing philosophical science fiction novels. I include a few science fiction classics, like Foundation by Asimov, and a few of my personal favorites as well. \n\n→ Support\nJoin this channel to get access to perks:\nhttps://www.youtube.com/channel/UC2Ky...\n\nOr support me on Patreon: https://www.patreon.com/user?u=84329184\n\n→ Book Links\n\nDune: https://amzn.to/3IyDs5P\nSolaris: https://amzn.to/3xxUKK5\nCloud Atlas: https://amzn.to/3IekCj6\nFoundation: https://amzn.to/3Ek47ASA \nCanticle for Leibowitz: https://amzn.to/3k3buWL\nAnathem: https://amzn.to/3Z3lSwv\nFrankenstein: https://amzn.to/3KizVKd\nThe Man in the High Castle: https://amzn.to/3Ehj1In\nAncillary Justice: https://amzn.to/3k7nnL4\nCulture Novels: https://amzn.to/3IIv0Br\nMemory Called Empire: https://amzn.to/3Z2EVHk\n\n\n→ Want to send me something?\nPO Box 660298\nAustin, TX 78766\n\n→ Thinker\nMy newsletter, all about philosophy: jaredhenderson.substack.com\n\n→ The Classical Mind\nCheck out my podcast where I discuss a great work of literature or philosophy every month: https://theclassicalmind.com\n\n→ Video Gear\nMic: https://amzn.to/3Uw7ZVw\nRecorder: https://amzn.to/3Tz1uQp\nCamera: https://amzn.to/3Ust3MT\nLens: https://amzn.to/3WXbAhd\n\nThese are affiliate links with Amazon. The channel earns a commission from each purchase — but it doesn't cost you anything.", "7 Philosophical Science Fiction Novels You Need to Read", 610, false, "P-LFuvKv_bI", "https://www.youtube.com/watch?v=P-LFuvKv_bI", "/downloads/Watch Next/7 Philosophical Science Fiction Novels You Need to Read/7 Philosophical Science Fiction Novels You Need to Read [P-LFuvKv_bI].mp4", false, 8, ~U[2023-02-18 18:32:49Z]] 18:21:05.524 [debug] QUERY OK source="sources" db=0.1ms idle=179.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:05.525 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:21:05.526 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20609] 18:21:05.526 [debug] Current batch of media processed. Will check again in 1000ms 18:21:06.527 [debug] Current batch of media processed. Will check again in 1000ms 18:21:07.528 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Use my code SHAQUILLE15 at Viski: https://viski.com/internetshaquille\nEvery time I cover a controversial topic, a portion of the audience can be expected to demand a definitive conclusion. Here's mine (spoiler alert!): You ~should~ wash every single knife by hand and dry it quickly. There's really no reason not to treat your tools with care. Still, I'm glad I did this whole Knife vs Dishwasher experiment because I always assumed one cycle in a dishwasher would immediately dull any chefs knife.\n\n✨Promo Links are Down Here✨\nSupport on Patreon: https://www.patreon.com/shaq\nBuy My Ceramics: https://www.dinnerwithbarkley.com\nFollow on Instagram: https://www.instagram.com/internetshaquille/", "duration" => 427, "filename" => "/downloads/Watch Next/I Put My Fanciest Knife in the Dishwasher/I Put My Fanciest Knife in the Dishwasher [_GfZtDhIR5o].mp4", "id" => "_GfZtDhIR5o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_GfZtDhIR5o", "playlist_index" => 18, "timestamp" => 1676041284, "title" => "I Put My Fanciest Knife in the Dishwasher", "upload_date" => "20230210"} 18:21:07.530 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=609.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:21:07.531 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=610.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:07.533 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=612.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-02-10 15:01:24Z], 8] 18:21:07.537 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=613.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use my code SHAQUILLE15 at Viski: https://viski.com/internetshaquille\nEvery time I cover a controversial topic, a portion of the audience can be expected to demand a definitive conclusion. Here's mine (spoiler alert!): You ~should~ wash every single knife by hand and dry it quickly. There's really no reason not to treat your tools with care. Still, I'm glad I did this whole Knife vs Dishwasher experiment because I always assumed one cycle in a dishwasher would immediately dull any chefs knife.\n\n✨Promo Links are Down Here✨\nSupport on Patreon: https://www.patreon.com/shaq\nBuy My Ceramics: https://www.dinnerwithbarkley.com\nFollow on Instagram: https://www.instagram.com/internetshaquille/", "I Put My Fanciest Knife in the Dishwasher", "1fa9aeec-0cdb-40e9-9d1f-186b130d6e8d", 427, false, "_GfZtDhIR5o", "https://www.youtube.com/watch?v=_GfZtDhIR5o", 18, "/downloads/Watch Next/I Put My Fanciest Knife in the Dishwasher/I Put My Fanciest Knife in the Dishwasher [_GfZtDhIR5o].mp4", false, false, false, 8, [], 1, ~U[2023-02-10 15:01:24Z], ~U[2026-02-16 18:21:07Z], ~U[2026-02-16 18:21:07Z], "Use my code SHAQUILLE15 at Viski: https://viski.com/internetshaquille\nEvery time I cover a controversial topic, a portion of the audience can be expected to demand a definitive conclusion. Here's mine (spoiler alert!): You ~should~ wash every single knife by hand and dry it quickly. There's really no reason not to treat your tools with care. Still, I'm glad I did this whole Knife vs Dishwasher experiment because I always assumed one cycle in a dishwasher would immediately dull any chefs knife.\n\n✨Promo Links are Down Here✨\nSupport on Patreon: https://www.patreon.com/shaq\nBuy My Ceramics: https://www.dinnerwithbarkley.com\nFollow on Instagram: https://www.instagram.com/internetshaquille/", "I Put My Fanciest Knife in the Dishwasher", 427, false, "_GfZtDhIR5o", "https://www.youtube.com/watch?v=_GfZtDhIR5o", "/downloads/Watch Next/I Put My Fanciest Knife in the Dishwasher/I Put My Fanciest Knife in the Dishwasher [_GfZtDhIR5o].mp4", false, 8, ~U[2023-02-10 15:01:24Z]] 18:21:07.539 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=189.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:07.541 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.1ms idle=9.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:21:07.542 [debug] QUERY OK source="media_items" db=1.2ms idle=9.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20627] 18:21:07.543 [debug] Current batch of media processed. Will check again in 1000ms 18:21:08.544 [debug] Current batch of media processed. Will check again in 1000ms 18:21:09.545 [debug] Current batch of media processed. Will check again in 1000ms 18:21:10.546 [debug] Current batch of media processed. Will check again in 1000ms 18:21:11.547 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "LOTR Wallpapers at Patreon:http://www.patreon.com/creation?hid=1385484\n\n\nSpecial Thanks:\n\nProfessor Verlyn Flieger http://mythus.com/\n\nhttp://askmiddlearth.tumblr.com/\n\nSoliloquy: http://goo.gl/LQEakz\n\n@icel, @VivaLaDiva405, Rory Howington, Vijayalakshmi, Jason Arkin, Malthe Agger, rictic, Ian, Saki Comandao, Edward DeLany, Chris Kitching, PervertedThomas, Brian Peterson, Ron Bowes, Tómas Árni Jónasson, Michael Morden, Mikko, Derek Bonner, Derek Jackson, Iain Flockton, Jim, Sokhom Chhim, Shawn Bazin, Finn Kelly, Dan, Orbit_Junkie, Eren Polat, Mark Elders, Lars-Göran, Veronica Peshterianu, Daniel Heeb, Juan Villagrana, Ernesto Jimenez, Paul Tomblin, Travis Wichert, Andrew Bailey, Israel Armando, Teddy, Ricardo, Yousef Hasan, Ruud Hermans, Keng, Alex Morales, Ryan E Manning, Linh, Erik Parasiuk, Rhys Parry, Arian Flores, Jennifer Richardson, Maarten van der Blij, Björn Morén, Jim, Eric Stangeland, Rustam Anvarov, Sam Kokin, Kevin Anderson, Gustavo Jimenez, Thomas Petersen, Kyle Bloom, Osric Lord-Williams, Myke Hurley, David, Ryan Nielsen, Esteban Santana Santana, Terry Steiner, Dag Viggo Lokøen, Tristan Watts-Willis, Ian N Riopel, John Rogers, Edward Adams, Ryan, Kevin, Nicolae Berbece, Alex Prescott, Leon, Alexander Kosenkov, Daniel Slater, Sunny Yin, Sigurður Snær Eiríksson, Maxime Zielony, Anders, ken mcfarlane, AUFFRAY Clement, Aaron Miller, Bill Wolf, Himesh Sheth, Thomas Weir, Caswal Parker, Brandon Callender, Joseph, Stephen Litt Belch, Sean Church, Pierre Perrott, Ilan, Mr.Z, Heemi Kutia, Timothy Moran, Peter Lomax, Quin Thames, darkmage0707077, Ørjan Sollie, Emil, Kelsey Wainwright, Richard Harrison, Robby Gottesman, Ali Moeeny, Lachlan Holmes, Jonas Maaløe, John Bevan, Dan Hiel, Callas, Elizabeth Keathley, John Lee, Tijmen van Dien, ShiroiYami, thomas van til, Drew Stephens, Owen Degen, Tobias Gies, Alex Schuldberg, Ryan Constantin, Jerry Lin, Rasmus Svensson, Bear, Lars, Jacob Ostling, Cody Fitzgerald, Guillaume PERRIN, John Waltmans, Solon Carter, Joel Wunderle, Rescla, GhostDivision, Andrew Proue, David Lombardo, Tor Henrik Lehne, David Palomares, Cas Eliëns, paul everitt, Karl Johan Stensland Dy, Freddi Hørlyck\n\nArtwork:\n\nhttp://kittyninjafish.deviantart.com/\n\n\nMusic:\n\nhttp://incompetech.com/", "duration" => 267, "filename" => "/downloads/Watch Next/You Have No Idea What Gandalf Is/You Have No Idea What Gandalf Is [YxgsxaFWWHQ].mp4", "id" => "YxgsxaFWWHQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=YxgsxaFWWHQ", "playlist_index" => 19, "timestamp" => 1418829139, "title" => "You Have No Idea What Gandalf Is", "upload_date" => "20141217"} 18:21:11.550 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms idle=628.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:21:11.551 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=630.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:11.553 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=632.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2014-12-17 15:12:19Z], 8] 18:21:11.559 [debug] QUERY OK source="media_items" db=3.5ms queue=0.8ms idle=633.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["LOTR Wallpapers at Patreon:http://www.patreon.com/creation?hid=1385484\n\n\nSpecial Thanks:\n\nProfessor Verlyn Flieger http://mythus.com/\n\nhttp://askmiddlearth.tumblr.com/\n\nSoliloquy: http://goo.gl/LQEakz\n\n@icel, @VivaLaDiva405, Rory Howington, Vijayalakshmi, Jason Arkin, Malthe Agger, rictic, Ian, Saki Comandao, Edward DeLany, Chris Kitching, PervertedThomas, Brian Peterson, Ron Bowes, Tómas Árni Jónasson, Michael Morden, Mikko, Derek Bonner, Derek Jackson, Iain Flockton, Jim, Sokhom Chhim, Shawn Bazin, Finn Kelly, Dan, Orbit_Junkie, Eren Polat, Mark Elders, Lars-Göran, Veronica Peshterianu, Daniel Heeb, Juan Villagrana, Ernesto Jimenez, Paul Tomblin, Travis Wichert, Andrew Bailey, Israel Armando, Teddy, Ricardo, Yousef Hasan, Ruud Hermans, Keng, Alex Morales, Ryan E Manning, Linh, Erik Parasiuk, Rhys Parry, Arian Flores, Jennifer Richardson, Maarten van der Blij, Björn Morén, Jim, Eric Stangeland, Rustam Anvarov, Sam Kokin, Kevin Anderson, Gustavo Jimenez, Thomas Petersen, Kyle Bloom, Osric Lord-Williams, Myke Hurley, David, Ryan Nielsen, Esteban Santana Santana, Terry Steiner, Dag Viggo Lokøen, Tristan Watts-Willis, Ian N Riopel, John Rogers, Edward Adams, Ryan, Kevin, Nicolae Berbece, Alex Prescott, Leon, Alexander Kosenkov, Daniel Slater, Sunny Yin, Sigurður Snær Eiríksson, Maxime Zielony, Anders, ken mcfarlane, AUFFRAY Clement, Aaron Miller, Bill Wolf, Himesh Sheth, Thomas Weir, Caswal Parker, Brandon Callender, Joseph, Stephen Litt Belch, Sean Church, Pierre Perrott, Ilan, Mr.Z, Heemi Kutia, Timothy Moran, Peter Lomax, Quin Thames, darkmage0707077, Ørjan Sollie, Emil, Kelsey Wainwright, Richard Harrison, Robby Gottesman, Ali Moeeny, Lachlan Holmes, Jonas Maaløe, John Bevan, Dan Hiel, Callas, Elizabeth Keathley, John Lee, Tijmen van Dien, ShiroiYami, thomas van til, Drew Stephens, Owen Degen, Tobias Gies, Alex Schuldberg, Ryan Constantin, Jerry Lin, Rasmus Svensson, Bear, Lars, Jacob Ostling, Cody Fitzgerald, Guillaume PERRIN, John Waltmans, Solon Carter, Joel Wunderle, Rescla, GhostDivision, Andrew Proue, David Lombardo, Tor Henrik Lehne, David Palomares, Cas Eliëns, paul everitt, Karl Johan Stensland Dy, Freddi Hørlyck\n\nArtwork:\n\nhttp://kittyninjafish.deviantart.com/\n\n\nMusic:\n\nhttp://incompetech.com/", "You Have No Idea What Gandalf Is", "1a1d0eba-b004-41f5-b4a0-d4362465e3d9", 267, false, "YxgsxaFWWHQ", "https://www.youtube.com/watch?v=YxgsxaFWWHQ", 19, "/downloads/Watch Next/You Have No Idea What Gandalf Is/You Have No Idea What Gandalf Is [YxgsxaFWWHQ].mp4", false, false, false, 8, [], 1, ~U[2014-12-17 15:12:19Z], ~U[2026-02-16 18:21:11Z], ~U[2026-02-16 18:21:11Z], "LOTR Wallpapers at Patreon:http://www.patreon.com/creation?hid=1385484\n\n\nSpecial Thanks:\n\nProfessor Verlyn Flieger http://mythus.com/\n\nhttp://askmiddlearth.tumblr.com/\n\nSoliloquy: http://goo.gl/LQEakz\n\n@icel, @VivaLaDiva405, Rory Howington, Vijayalakshmi, Jason Arkin, Malthe Agger, rictic, Ian, Saki Comandao, Edward DeLany, Chris Kitching, PervertedThomas, Brian Peterson, Ron Bowes, Tómas Árni Jónasson, Michael Morden, Mikko, Derek Bonner, Derek Jackson, Iain Flockton, Jim, Sokhom Chhim, Shawn Bazin, Finn Kelly, Dan, Orbit_Junkie, Eren Polat, Mark Elders, Lars-Göran, Veronica Peshterianu, Daniel Heeb, Juan Villagrana, Ernesto Jimenez, Paul Tomblin, Travis Wichert, Andrew Bailey, Israel Armando, Teddy, Ricardo, Yousef Hasan, Ruud Hermans, Keng, Alex Morales, Ryan E Manning, Linh, Erik Parasiuk, Rhys Parry, Arian Flores, Jennifer Richardson, Maarten van der Blij, Björn Morén, Jim, Eric Stangeland, Rustam Anvarov, Sam Kokin, Kevin Anderson, Gustavo Jimenez, Thomas Petersen, Kyle Bloom, Osric Lord-Williams, Myke Hurley, David, Ryan Nielsen, Esteban Santana Santana, Terry Steiner, Dag Viggo Lokøen, Tristan Watts-Willis, Ian N Riopel, John Rogers, Edward Adams, Ryan, Kevin, Nicolae Berbece, Alex Prescott, Leon, Alexander Kosenkov, Daniel Slater, Sunny Yin, Sigurður Snær Eiríksson, Maxime Zielony, Anders, ken mcfarlane, AUFFRAY Clement, Aaron Miller, Bill Wolf, Himesh Sheth, Thomas Weir, Caswal Parker, Brandon Callender, Joseph, Stephen Litt Belch, Sean Church, Pierre Perrott, Ilan, Mr.Z, Heemi Kutia, Timothy Moran, Peter Lomax, Quin Thames, darkmage0707077, Ørjan Sollie, Emil, Kelsey Wainwright, Richard Harrison, Robby Gottesman, Ali Moeeny, Lachlan Holmes, Jonas Maaløe, John Bevan, Dan Hiel, Callas, Elizabeth Keathley, John Lee, Tijmen van Dien, ShiroiYami, thomas van til, Drew Stephens, Owen Degen, Tobias Gies, Alex Schuldberg, Ryan Constantin, Jerry Lin, Rasmus Svensson, Bear, Lars, Jacob Ostling, Cody Fitzgerald, Guillaume PERRIN, John Waltmans, Solon Carter, Joel Wunderle, Rescla, GhostDivision, Andrew Proue, David Lombardo, Tor Henrik Lehne, David Palomares, Cas Eliëns, paul everitt, Karl Johan Stensland Dy, Freddi Hørlyck\n\nArtwork:\n\nhttp://kittyninjafish.deviantart.com/\n\n\nMusic:\n\nhttp://incompetech.com/", "You Have No Idea What Gandalf Is", 267, false, "YxgsxaFWWHQ", "https://www.youtube.com/watch?v=YxgsxaFWWHQ", "/downloads/Watch Next/You Have No Idea What Gandalf Is/You Have No Idea What Gandalf Is [YxgsxaFWWHQ].mp4", false, 8, ~U[2014-12-17 15:12:19Z]] 18:21:11.561 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=205.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:11.562 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=11.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:21:11.563 [debug] QUERY OK source="media_items" db=0.4ms queue=0.5ms idle=11.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 [24080] 18:21:11.564 [debug] Current batch of media processed. Will check again in 1000ms 18:21:12.565 [debug] Current batch of media processed. Will check again in 1000ms 18:21:13.566 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Use code channel5 at https://incogni.com/channel5 to get an exclusive 60% off.\n\nTo buy tickets to C5 Carnival, head to https://channel5.news/pages/carnival\n\nTo see our new episode on Nahuatl Language revival, head to https://www.youtube.com/@CanalCincoLatam/videos", "duration" => 3783, "filename" => "/downloads/Watch Next/Irish Language Revival/Irish Language Revival [m7MU64QuZtU].mp4", "id" => "m7MU64QuZtU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=m7MU64QuZtU", "playlist_index" => 20, "timestamp" => 1770483696, "title" => "Irish Language Revival", "upload_date" => "20260207"} 18:21:13.567 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=647.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:21:13.569 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=648.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:13.570 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=649.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-07 17:01:36Z], 8] 18:21:13.571 [debug] QUERY OK source="media_items" db=0.6ms idle=651.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code channel5 at https://incogni.com/channel5 to get an exclusive 60% off.\n\nTo buy tickets to C5 Carnival, head to https://channel5.news/pages/carnival\n\nTo see our new episode on Nahuatl Language revival, head to https://www.youtube.com/@CanalCincoLatam/videos", "Irish Language Revival", "723309dd-25ff-4263-81c5-375dc775c335", 3783, false, "m7MU64QuZtU", "https://www.youtube.com/watch?v=m7MU64QuZtU", 20, "/downloads/Watch Next/Irish Language Revival/Irish Language Revival [m7MU64QuZtU].mp4", false, false, false, 8, [], 1, ~U[2026-02-07 17:01:36Z], ~U[2026-02-16 18:21:13Z], ~U[2026-02-16 18:21:13Z], "Use code channel5 at https://incogni.com/channel5 to get an exclusive 60% off.\n\nTo buy tickets to C5 Carnival, head to https://channel5.news/pages/carnival\n\nTo see our new episode on Nahuatl Language revival, head to https://www.youtube.com/@CanalCincoLatam/videos", "Irish Language Revival", 3783, false, "m7MU64QuZtU", "https://www.youtube.com/watch?v=m7MU64QuZtU", "/downloads/Watch Next/Irish Language Revival/Irish Language Revival [m7MU64QuZtU].mp4", false, 8, ~U[2026-02-07 17:01:36Z]] 18:21:13.572 [debug] QUERY OK source="sources" db=0.2ms idle=216.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:13.572 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:21:13.573 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24100] 18:21:13.573 [debug] Current batch of media processed. Will check again in 1000ms 18:21:14.574 [debug] Current batch of media processed. Will check again in 1000ms 18:21:15.575 [debug] Current batch of media processed. Will check again in 1000ms 18:21:16.577 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get 25% off Blinkist Annual premium! Start your 7-day free trial by clicking here: https://www.blinkist.com/jaredhenderson\n\nI'm often asked for book recommendations, and in particular recommendations for people who want to find life-changing books. It is a difficult request to fulfill. But today I've put together a list of books which I think could really change your life. \n\n→ Links\nPatreon: patreon.com/_jared\nDiscord: Discord: https://discord.gg/xq6wDUtdyQ\nNewsletter:jaredhenderson.substack.com\nSecond channel: @jaredminus\n\n→ Books\nThe World-Ending Fire: https://amzn.to/43o3rEw\nEnchiridion of Epictetus: https://amzn.to/44MXty7\nThe Creative Act: https://amzn.to/3rpXWYy\nThe Psychology of Money: https://amzn.to/44mc1oo\nNarrative of the Life of Frederick Douglass: https://amzn.to/44oHO8l\nShop Class as Soulcraft: https://amzn.to/46ZWxZ8\n\n\n→ Music\nOriginal music by The Music Giant\nGet custom music created for your content: https://www.themusicgiant.com/contentcreators\n\n→ Video Gear\nMic: https://amzn.to/3Uw7ZVw\nRecorder: https://amzn.to/3Tz1uQp\nCamera: https://amzn.to/3Ust3MT\nCamera (upgrade): https://amzn.to/3EFGW4e\nLens: https://amzn.to/3WXbAhd\nLens (upgrade): https://amzn.to/3SA49KM\n\nThese are affiliate links with Amazon. The channel earns a commission from each purchase — but it doesn't cost you anything.", "duration" => 1044, "filename" => "/downloads/Watch Next/These Books Could Change Your Life/These Books Could Change Your Life [T7RxnclkKTE].mp4", "id" => "T7RxnclkKTE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=T7RxnclkKTE", "playlist_index" => 21, "timestamp" => 1689341415, "title" => "These Books Could Change Your Life", "upload_date" => "20230714"} 18:21:16.578 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1657.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:21:16.579 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1658.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:16.580 [debug] QUERY OK source="media_items" db=0.6ms idle=1659.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-07-14 13:30:15Z], 8] 18:21:16.593 [debug] QUERY OK source="media_items" db=11.5ms idle=1220.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 25% off Blinkist Annual premium! Start your 7-day free trial by clicking here: https://www.blinkist.com/jaredhenderson\n\nI'm often asked for book recommendations, and in particular recommendations for people who want to find life-changing books. It is a difficult request to fulfill. But today I've put together a list of books which I think could really change your life. \n\n→ Links\nPatreon: patreon.com/_jared\nDiscord: Discord: https://discord.gg/xq6wDUtdyQ\nNewsletter:jaredhenderson.substack.com\nSecond channel: @jaredminus\n\n→ Books\nThe World-Ending Fire: https://amzn.to/43o3rEw\nEnchiridion of Epictetus: https://amzn.to/44MXty7\nThe Creative Act: https://amzn.to/3rpXWYy\nThe Psychology of Money: https://amzn.to/44mc1oo\nNarrative of the Life of Frederick Douglass: https://amzn.to/44oHO8l\nShop Class as Soulcraft: https://amzn.to/46ZWxZ8\n\n\n→ Music\nOriginal music by The Music Giant\nGet custom music created for your content: https://www.themusicgiant.com/contentcreators\n\n→ Video Gear\nMic: https://amzn.to/3Uw7ZVw\nRecorder: https://amzn.to/3Tz1uQp\nCamera: https://amzn.to/3Ust3MT\nCamera (upgrade): https://amzn.to/3EFGW4e\nLens: https://amzn.to/3WXbAhd\nLens (upgrade): https://amzn.to/3SA49KM\n\nThese are affiliate links with Amazon. The channel earns a commission from each purchase — but it doesn't cost you anything.", "These Books Could Change Your Life", "b6d73330-dc7a-4f99-9582-a22eabd12cf0", 1044, false, "T7RxnclkKTE", "https://www.youtube.com/watch?v=T7RxnclkKTE", 21, "/downloads/Watch Next/These Books Could Change Your Life/These Books Could Change Your Life [T7RxnclkKTE].mp4", false, false, false, 8, [], 1, ~U[2023-07-14 13:30:15Z], ~U[2026-02-16 18:21:16Z], ~U[2026-02-16 18:21:16Z], "Get 25% off Blinkist Annual premium! Start your 7-day free trial by clicking here: https://www.blinkist.com/jaredhenderson\n\nI'm often asked for book recommendations, and in particular recommendations for people who want to find life-changing books. It is a difficult request to fulfill. But today I've put together a list of books which I think could really change your life. \n\n→ Links\nPatreon: patreon.com/_jared\nDiscord: Discord: https://discord.gg/xq6wDUtdyQ\nNewsletter:jaredhenderson.substack.com\nSecond channel: @jaredminus\n\n→ Books\nThe World-Ending Fire: https://amzn.to/43o3rEw\nEnchiridion of Epictetus: https://amzn.to/44MXty7\nThe Creative Act: https://amzn.to/3rpXWYy\nThe Psychology of Money: https://amzn.to/44mc1oo\nNarrative of the Life of Frederick Douglass: https://amzn.to/44oHO8l\nShop Class as Soulcraft: https://amzn.to/46ZWxZ8\n\n\n→ Music\nOriginal music by The Music Giant\nGet custom music created for your content: https://www.themusicgiant.com/contentcreators\n\n→ Video Gear\nMic: https://amzn.to/3Uw7ZVw\nRecorder: https://amzn.to/3Tz1uQp\nCamera: https://amzn.to/3Ust3MT\nCamera (upgrade): https://amzn.to/3EFGW4e\nLens: https://amzn.to/3WXbAhd\nLens (upgrade): https://amzn.to/3SA49KM\n\nThese are affiliate links with Amazon. The channel earns a commission from each purchase — but it doesn't cost you anything.", "These Books Could Change Your Life", 1044, false, "T7RxnclkKTE", "https://www.youtube.com/watch?v=T7RxnclkKTE", "/downloads/Watch Next/These Books Could Change Your Life/These Books Could Change Your Life [T7RxnclkKTE].mp4", false, 8, ~U[2023-07-14 13:30:15Z]] 18:21:16.594 [debug] QUERY OK source="sources" db=0.6ms idle=231.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:16.595 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=16.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:21:16.597 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=17.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24584] 18:21:16.597 [debug] Current batch of media processed. Will check again in 1000ms 18:21:17.598 [debug] Current batch of media processed. Will check again in 1000ms 18:21:18.599 [debug] Current batch of media processed. Will check again in 1000ms 18:21:19.600 [debug] Current batch of media processed. Will check again in 1000ms 18:21:20.601 [debug] Current batch of media processed. Will check again in 1000ms 18:21:20.831 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLLdTMiiwDWynIJEw-QRCI3l7WikKPk_ZG --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Watch Next/%(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/9d/26/9d26ae60c4c43d92de716145968760000cea45a30af8d7edd0c96ab121d6ab33.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:21:20.832 [debug] Gracefully stopping file follower 18:21:20.832 [debug] QUERY OK source="sources" db=0.5ms idle=912.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 18:21:20.833 [debug] QUERY OK source="sources" db=0.1ms idle=913.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.833 [debug] QUERY OK source="media_items" db=0.2ms idle=913.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-02 13:00:48Z], 8] 18:21:20.835 [debug] QUERY OK source="media_items" db=1.0ms idle=913.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["// JLCPCB\nDiscover Easy, Affordable, and Reliable PCB manufacturing with JLCPCB! Register to get $60 New customer coupons: https://jlcpcb.com/?from=ashtf\n\n// Discord (Follow Project Progress)\nhttps://discord.gg/KSCapSf4XH\n\n// Github (Take a Look at the Project Files)\nhttps://github.com/ashtf8/EinkPDA\n\n// Music By Posy!\nhttps://posy.bandcamp.com/\nhttps://www.youtube.com/@PosyMusic\n\n// Timestamps\n0:00 Intro & Thanks!\n1:05 Overview of New Features\n4:28 Sponsor\n5:16 Hardware Updates\n6:10 Making the Keys\n7:24 PCB Updates\n8:25 Software Updates\n10:00 Overhauled TXT App\n15:45 Desktop Mode\n16:36 Tasks App\n19:00 Alternate Sleep Mode\n19:38 File Wizard!\n21:58 Next Steps\n24:34 Making Your Own Eink PDA\n27:13 Follow the Development\n27:30 Outro\n\nThanks For Watching!", "My Dream Productivity Device Just Got Better", "476779d3-80fc-4268-87e6-bc3aadd152ab", 1667, false, "VPQ2q7yVjZs", "https://www.youtube.com/watch?v=VPQ2q7yVjZs", 1, "/downloads/Watch Next/My Dream Productivity Device Just Got Better/My Dream Productivity Device Just Got Better [VPQ2q7yVjZs].mp4", false, false, false, 8, [], 1, ~U[2025-04-02 13:00:48Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "// JLCPCB\nDiscover Easy, Affordable, and Reliable PCB manufacturing with JLCPCB! Register to get $60 New customer coupons: https://jlcpcb.com/?from=ashtf\n\n// Discord (Follow Project Progress)\nhttps://discord.gg/KSCapSf4XH\n\n// Github (Take a Look at the Project Files)\nhttps://github.com/ashtf8/EinkPDA\n\n// Music By Posy!\nhttps://posy.bandcamp.com/\nhttps://www.youtube.com/@PosyMusic\n\n// Timestamps\n0:00 Intro & Thanks!\n1:05 Overview of New Features\n4:28 Sponsor\n5:16 Hardware Updates\n6:10 Making the Keys\n7:24 PCB Updates\n8:25 Software Updates\n10:00 Overhauled TXT App\n15:45 Desktop Mode\n16:36 Tasks App\n19:00 Alternate Sleep Mode\n19:38 File Wizard!\n21:58 Next Steps\n24:34 Making Your Own Eink PDA\n27:13 Follow the Development\n27:30 Outro\n\nThanks For Watching!", "My Dream Productivity Device Just Got Better", 1667, false, "VPQ2q7yVjZs", "https://www.youtube.com/watch?v=VPQ2q7yVjZs", "/downloads/Watch Next/My Dream Productivity Device Just Got Better/My Dream Productivity Device Just Got Better [VPQ2q7yVjZs].mp4", false, 8, ~U[2025-04-02 13:00:48Z]] 18:21:20.835 [debug] QUERY OK source="sources" db=0.2ms idle=465.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.836 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-19 17:00:21Z], 8] 18:21:20.837 [debug] QUERY OK source="media_items" db=1.0ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I did my research this time (I still don't know what I'm doing)\n\nMerch Store! - \nhttps://dunderheads-shop.fourthwall.com/\n\nThe Mad Pantser!\nhttps://store.steampowered.com/app/3235600/The_Mad_Pantser/\n\nDunderheads Discord!\nhttps://discord.gg/y5mPMdnJ98\n\nDunderheads TWITCH!!!\nhttps://www.twitch.tv/dunderheadsofficial\n\nOur Other Channels!\n @DunderChris \n @TheRoguelikeReviewer \n\nPatreon!\nhttps://www.patreon.com/c/DunderheadStudios\n\nOUR FNF MOD!\nhttps://gamebanana.com/mods/331964\n\nEdited by: Sera\nhttps://x.com/seratonin_swag\nhttps://ytjobs.co/talent/profile/336451?r=692\n\nThumbnail by: Aynsley\n\n#skyrim #skyrimmultiplayer", "Skyrim But it's JEOPARDY! (Skyrim Multiplayer)", "b62fad23-0c5a-40c2-850b-940a4b4da924", 3725, false, "Ajhl3HD7Pno", "https://www.youtube.com/watch?v=Ajhl3HD7Pno", 2, "/downloads/Watch Next/Skyrim But it's JEOPARDY! (Skyrim Multiplayer)/Skyrim But it's JEOPARDY! (Skyrim Multiplayer) [Ajhl3HD7Pno].mp4", false, false, false, 8, [], 1, ~U[2026-01-19 17:00:21Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "I did my research this time (I still don't know what I'm doing)\n\nMerch Store! - \nhttps://dunderheads-shop.fourthwall.com/\n\nThe Mad Pantser!\nhttps://store.steampowered.com/app/3235600/The_Mad_Pantser/\n\nDunderheads Discord!\nhttps://discord.gg/y5mPMdnJ98\n\nDunderheads TWITCH!!!\nhttps://www.twitch.tv/dunderheadsofficial\n\nOur Other Channels!\n @DunderChris \n @TheRoguelikeReviewer \n\nPatreon!\nhttps://www.patreon.com/c/DunderheadStudios\n\nOUR FNF MOD!\nhttps://gamebanana.com/mods/331964\n\nEdited by: Sera\nhttps://x.com/seratonin_swag\nhttps://ytjobs.co/talent/profile/336451?r=692\n\nThumbnail by: Aynsley\n\n#skyrim #skyrimmultiplayer", "Skyrim But it's JEOPARDY! (Skyrim Multiplayer)", 3725, false, "Ajhl3HD7Pno", "https://www.youtube.com/watch?v=Ajhl3HD7Pno", "/downloads/Watch Next/Skyrim But it's JEOPARDY! (Skyrim Multiplayer)/Skyrim But it's JEOPARDY! (Skyrim Multiplayer) [Ajhl3HD7Pno].mp4", false, 8, ~U[2026-01-19 17:00:21Z]] 18:21:20.838 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.838 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-07 13:00:09Z], 8] 18:21:20.840 [debug] QUERY OK source="media_items" db=1.4ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["computer guide: https://youtu.be/2qDE048ovsI\n\nthis is the modern dumbphone, a system to make your phone work for you and not against you. this is an updated version with some new features! \n\njoin my channel membership: https://www.youtube.com/channel/UCbDmEdLs-SB3FjrDFQJ4TDg/join\n\napps mentioned: \niOS (no subscriptions)\n- homescreen: dumbify [$6.99]\n- extension(s): socialfocus or untrap for YouTube [$3.99]\n- app blocker: screenzen or burnout buddy [free]\n\nAndroid (all free)\n- homescreen: olauncher [free] alt: unlauncher [sideload]\n- extension(s): socialfocus or untrap for YouTube [free]\n- app blocker: screenzen [free]\n\nwritten guide: reysu.io/dumbphone\n\n🎟️ Life Tracker System Prompts & Handbook: https://store.reysu.io/\n\n📺 some of my other vids : \nI made my smartphone into a dumbphone: https://www.youtube.com/watch?v=DmcOtIrZ8r0&list=PLacX82b_pofx0W3JjHZzi795ocRUZrSfT&index=2&t=373s \nA notebook to save you from infinite scrolling: https://www.youtube.com/watch?v=OmyfB513E1s&list=PLacX82b_pofx0W3JjHZzi795ocRUZrSfT&index=3\n7 Purchases under $100 to quickly improve your life: \n\nOutline: \n0:00 what is the modern dumbphone?\n0:32 feature + setup walkthrough \n1:10 why do this / results after doing this for over a year \n2:42 how apps try to addict you\n4:20 iOS + android setup guide \n4:36 #1 delete apps \n4:57 #2 turn off notifications\n5:15 #3 optimize the browser\n6:15 #4 homescreen customization\n7:35 #5 create a social media schedule\n9:39 additional tips / phone recommendation", "how I reduced my screentime by 80% (guide)", "8ee2f9f7-0b3d-458e-8cd1-95536a9a19a2", 634, false, "7jVb1lLniEw", "https://www.youtube.com/watch?v=7jVb1lLniEw", 3, "/downloads/Watch Next/how I reduced my screentime by 80% (guide)/how I reduced my screentime by 80% (guide) [7jVb1lLniEw].mp4", false, false, false, 8, [], 1, ~U[2024-06-07 13:00:09Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "computer guide: https://youtu.be/2qDE048ovsI\n\nthis is the modern dumbphone, a system to make your phone work for you and not against you. this is an updated version with some new features! \n\njoin my channel membership: https://www.youtube.com/channel/UCbDmEdLs-SB3FjrDFQJ4TDg/join\n\napps mentioned: \niOS (no subscriptions)\n- homescreen: dumbify [$6.99]\n- extension(s): socialfocus or untrap for YouTube [$3.99]\n- app blocker: screenzen or burnout buddy [free]\n\nAndroid (all free)\n- homescreen: olauncher [free] alt: unlauncher [sideload]\n- extension(s): socialfocus or untrap for YouTube [free]\n- app blocker: screenzen [free]\n\nwritten guide: reysu.io/dumbphone\n\n🎟️ Life Tracker System Prompts & Handbook: https://store.reysu.io/\n\n📺 some of my other vids : \nI made my smartphone into a dumbphone: https://www.youtube.com/watch?v=DmcOtIrZ8r0&list=PLacX82b_pofx0W3JjHZzi795ocRUZrSfT&index=2&t=373s \nA notebook to save you from infinite scrolling: https://www.youtube.com/watch?v=OmyfB513E1s&list=PLacX82b_pofx0W3JjHZzi795ocRUZrSfT&index=3\n7 Purchases under $100 to quickly improve your life: \n\nOutline: \n0:00 what is the modern dumbphone?\n0:32 feature + setup walkthrough \n1:10 why do this / results after doing this for over a year \n2:42 how apps try to addict you\n4:20 iOS + android setup guide \n4:36 #1 delete apps \n4:57 #2 turn off notifications\n5:15 #3 optimize the browser\n6:15 #4 homescreen customization\n7:35 #5 create a social media schedule\n9:39 additional tips / phone recommendation", "how I reduced my screentime by 80% (guide)", 634, false, "7jVb1lLniEw", "https://www.youtube.com/watch?v=7jVb1lLniEw", "/downloads/Watch Next/how I reduced my screentime by 80% (guide)/how I reduced my screentime by 80% (guide) [7jVb1lLniEw].mp4", false, 8, ~U[2024-06-07 13:00:09Z]] 18:21:20.840 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.841 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-16 05:40:39Z], 8] 18:21:20.842 [debug] QUERY OK source="media_items" db=1.1ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["4829083029 things 2 do instead of doomscrolloing !!! : ) #4920 will shock you :0\n\nSources:\nBooks: \nWilson, Frank R. (1998). The Hand: How Its Use Shapes the Brain, Language, and Human Culture.\nAnnie Murphy Paul (2021)The Extended Mind\n\nArticles:\nBerntsen, Dorthe, Rick H. Hoyle, Daniel Munkholm Møller, & David C. Rubin. (2023). Digital daydreaming: Introducing the spontaneous smartphone checking scale.\nBruineberg, Jelle & R. E. Fabry. (2021). Extended mind-wandering. \nGao, Qianru, et al. (2021). Exploring extended mind-wandering through an interactive haptic fidget object. Computers in Human Behavior. \nOulasvirta, Antti, et al. (2023). Fidgeting with everyday objects: The role of hands in attention and cognition. \nTodd Hargove, Hands and Minds https://toddhargrove.substack.com/p/hands-and-minds \nQinxue Liu et al (2022) Smartphone use can modify the body schema: An ERP study based on hand mental rotation task\n\nLinks:\nhazelthayer.com\npatreon.com/c/hazelisonline\ninstagram.com/hazelisonline", "why \"things to do instead of doomscrolling\" never works", "29eab6ac-b9d8-4f45-912c-53db894c05f0", 1091, false, "7mI6nm8QlQo", "https://www.youtube.com/watch?v=7mI6nm8QlQo", 4, "/downloads/Watch Next/why "things to do instead of doomscrolling" never works/why "things to do instead of doomscrolling" never works [7mI6nm8QlQo].mp4", false, false, false, 8, [], 1, ~U[2025-12-16 05:40:39Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "4829083029 things 2 do instead of doomscrolloing !!! : ) #4920 will shock you :0\n\nSources:\nBooks: \nWilson, Frank R. (1998). The Hand: How Its Use Shapes the Brain, Language, and Human Culture.\nAnnie Murphy Paul (2021)The Extended Mind\n\nArticles:\nBerntsen, Dorthe, Rick H. Hoyle, Daniel Munkholm Møller, & David C. Rubin. (2023). Digital daydreaming: Introducing the spontaneous smartphone checking scale.\nBruineberg, Jelle & R. E. Fabry. (2021). Extended mind-wandering. \nGao, Qianru, et al. (2021). Exploring extended mind-wandering through an interactive haptic fidget object. Computers in Human Behavior. \nOulasvirta, Antti, et al. (2023). Fidgeting with everyday objects: The role of hands in attention and cognition. \nTodd Hargove, Hands and Minds https://toddhargrove.substack.com/p/hands-and-minds \nQinxue Liu et al (2022) Smartphone use can modify the body schema: An ERP study based on hand mental rotation task\n\nLinks:\nhazelthayer.com\npatreon.com/c/hazelisonline\ninstagram.com/hazelisonline", "why \"things to do instead of doomscrolling\" never works", 1091, false, "7mI6nm8QlQo", "https://www.youtube.com/watch?v=7mI6nm8QlQo", "/downloads/Watch Next/why "things to do instead of doomscrolling" never works/why "things to do instead of doomscrolling" never works [7mI6nm8QlQo].mp4", false, 8, ~U[2025-12-16 05:40:39Z]] 18:21:20.843 [debug] QUERY OK source="sources" db=0.2ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.843 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-12-01 23:00:15Z], 8] 18:21:20.845 [debug] QUERY OK source="media_items" db=1.5ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Vegetables. Often the most stereotypically heathy food group that we as people regularly consume. For ages humans have gathered and planted stalks and roots and entire civilizations have flourished on them.\nBut does new science actually back this up or have we had the wool pulled over our eyes that this group of watered down salad fodders is more nutritious than we thought?\nToday we are breaking down each one's pros and cons and having them face off head to head with one another to see which ones should be in your salad bowls and which ones are better left in the ground.\n\nWhat I Would Change:\nThere are two different types of Vitamin K, each with different uses. To my knowledge, only Vitamin K1 is found in plant sources.\nUpon further exposure to the power of anthocyanins, I would move Eggplant up at least one tier if not two due to it's uniquely high Nasunin content.\n\nAll nutrient data is pulled from the USDA's National Nutrient Database for Standard Reference.\n\nIntroducing: Vegetables - 0:00\nArtichoke - 2:23\nArugula - 3:20\nAsparagus - 3:50\nBeetroot - 4:39\nBell Pepper - 5:34\nBok Choy - 6:18\nBroccoli - 6:56\nBrussel Sprout - 7:52\nCabbage - 8:40\nCarrot - 9:13\nCauliflower - 9:53\nCelery - 10:25\nChili Pepper - 10:53\nCollard Green - 11:50\nCorn - 12:36\nCucumber - 13:26\nEggplant - 14:04\nEndive - 14:50\nGarlic - 15:24\nGreen Bean - 16:29\nJalapeno - 17:11\nKale - 17:47\nLeek - 18:44\nIceberg Lettuce - 19:25\nRomaine Lettuce - 19:56\nMustard Green - 20:25\nOkra - 21:00\nOnion - 21:39\nParsnip - 22:29\nPeas - 22:59\nDill Pickle - 23:44\nPotato - 24:22\nRadish - 25:09\nSpinach - 25:36\nSweet Potato - 26:59\nTurnip - 27:50\nWater Chestnut - 28:25\nWatercress - 29:00\nConclusion - 29:39\n\n#vegetables #fruitsandveggies #nutrition #nutritiontierlist #diet #vegetarian #vegan #weightloss", "Vegetables Ranked - Nutrition Tier Lists", "ff62fba8-a407-4632-a668-c2fb11b5d33b", 1854, false, "fD07raxrJVo", "https://www.youtube.com/watch?v=fD07raxrJVo", 5, "/downloads/Watch Next/Vegetables Ranked - Nutrition Tier Lists/Vegetables Ranked - Nutrition Tier Lists [fD07raxrJVo].mp4", false, false, false, 8, [], 1, ~U[2022-12-01 23:00:15Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "Vegetables. Often the most stereotypically heathy food group that we as people regularly consume. For ages humans have gathered and planted stalks and roots and entire civilizations have flourished on them.\nBut does new science actually back this up or have we had the wool pulled over our eyes that this group of watered down salad fodders is more nutritious than we thought?\nToday we are breaking down each one's pros and cons and having them face off head to head with one another to see which ones should be in your salad bowls and which ones are better left in the ground.\n\nWhat I Would Change:\nThere are two different types of Vitamin K, each with different uses. To my knowledge, only Vitamin K1 is found in plant sources.\nUpon further exposure to the power of anthocyanins, I would move Eggplant up at least one tier if not two due to it's uniquely high Nasunin content.\n\nAll nutrient data is pulled from the USDA's National Nutrient Database for Standard Reference.\n\nIntroducing: Vegetables - 0:00\nArtichoke - 2:23\nArugula - 3:20\nAsparagus - 3:50\nBeetroot - 4:39\nBell Pepper - 5:34\nBok Choy - 6:18\nBroccoli - 6:56\nBrussel Sprout - 7:52\nCabbage - 8:40\nCarrot - 9:13\nCauliflower - 9:53\nCelery - 10:25\nChili Pepper - 10:53\nCollard Green - 11:50\nCorn - 12:36\nCucumber - 13:26\nEggplant - 14:04\nEndive - 14:50\nGarlic - 15:24\nGreen Bean - 16:29\nJalapeno - 17:11\nKale - 17:47\nLeek - 18:44\nIceberg Lettuce - 19:25\nRomaine Lettuce - 19:56\nMustard Green - 20:25\nOkra - 21:00\nOnion - 21:39\nParsnip - 22:29\nPeas - 22:59\nDill Pickle - 23:44\nPotato - 24:22\nRadish - 25:09\nSpinach - 25:36\nSweet Potato - 26:59\nTurnip - 27:50\nWater Chestnut - 28:25\nWatercress - 29:00\nConclusion - 29:39\n\n#vegetables #fruitsandveggies #nutrition #nutritiontierlist #diet #vegetarian #vegan #weightloss", "Vegetables Ranked - Nutrition Tier Lists", 1854, false, "fD07raxrJVo", "https://www.youtube.com/watch?v=fD07raxrJVo", "/downloads/Watch Next/Vegetables Ranked - Nutrition Tier Lists/Vegetables Ranked - Nutrition Tier Lists [fD07raxrJVo].mp4", false, 8, ~U[2022-12-01 23:00:15Z]] 18:21:20.846 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.846 [debug] QUERY OK source="media_items" db=0.2ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-14 13:01:36Z], 8] 18:21:20.850 [debug] QUERY OK source="media_items" db=3.0ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Sign up for the my free newsletter here 👉 https://henrydidit.kit.com/newsletter-signup\n\nIn a world dominated by screens and smart devices, why are people reverting to such a simple way of living? \n\nI didn’t fully understand, so over the last year I replaced 5 digital tools with their analogue counterparts.\n\nIn this video, I’ll explain what’s driving the shift, the impact each of these tools have had on me, and whether or not they’re really as life changing as people claim. \n\n✌️\n\n🐶 SUBSCRIBE FOR LARRY 🐶 https://www.youtube.com/@henrydidit?sub_confirmation=1 \n\n-\n\n📹 WATCH NEXT:\n\nWhy is everyone obsessed with notebooks? What’s really going on?: https://youtu.be/LW_H19w812M?si=e8OS6_me5q5imLsH \n3 notebooks to save you from mindless scrolling: https://youtu.be/ANcJgvAJFaU?si=PzJHri8p1KW9z3Qc \n\n📸 MY OTHER SOCIALS\n\nInstagram: https://www.instagram.com/henrydidit_/ \n\n🙏 CREDITS:\n\nIn the journal section of the video I mention a practice called Morning Pages. This was introduced by Julia Cameron in her book the Artist's Way in 1992. It changed my life and unlocked my creativity at a time when I really needed it. \n\nhttps://juliacameronlive.com/\n\n📖 THE EXCEPTION TO MY ANALOGUE OBSESSION: \n\nI use Shortform to help me decide which books I’m going to buy and to revisit summaries of books I’ve read in the past. It’s really great. So if you want to learn even more from important non-fiction books, check out http://shortform.com/henry You’ll get 5-days of unlimited access + an additional 20% discount on the annual subscription. I get a kickback if you use my link 🤙.\n\n🥁MUSIC I USE:\n\nI get my music from Epidemic Sound. You can check out the tracks I use in my videos in this playlist. \nhttps://www.epidemicsound.com/playlist/p6b1fa9c2k284zfx7y32ra5ozzfd37ej/ \n\n🙏 THANKS:\n\nA huge thanks to my great pal @__clowndisco for his wonderful illustrations. They made the video. Check him out on at https://www.instagram.com/__clowndisco/ \n\n🤙 WHO AM I?\n\nIf we haven’t met yet, hey, I’m Henry. I run a consultancy by day and perform as a magician by night. I’m figuring out how to slow down, stay focused, and make time for the things that bring joy. Sharing what I’m learning as I go.\n\n🍿7,300\n\n🕒 TIMESTAMPS:\n\n00:00 - Intro\n01:55 - Journal\n05:15 - Watch\n07:24 - Camera\n09:58 - Books\n11:42 - Postcards\n\n#analog #digitaldetox #journal #notebook #doomscrolling", "Swapping smart devices for analog changed my life", "5cf4ace9-7751-4170-8ade-3be76c259290", 906, false, "uNFDgKFY6Vk", "https://www.youtube.com/watch?v=uNFDgKFY6Vk", 6, "/downloads/Watch Next/Swapping smart devices for analog changed my life/Swapping smart devices for analog changed my life [uNFDgKFY6Vk].mp4", false, false, false, 8, [], 1, ~U[2025-04-14 13:01:36Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "Sign up for the my free newsletter here 👉 https://henrydidit.kit.com/newsletter-signup\n\nIn a world dominated by screens and smart devices, why are people reverting to such a simple way of living? \n\nI didn’t fully understand, so over the last year I replaced 5 digital tools with their analogue counterparts.\n\nIn this video, I’ll explain what’s driving the shift, the impact each of these tools have had on me, and whether or not they’re really as life changing as people claim. \n\n✌️\n\n🐶 SUBSCRIBE FOR LARRY 🐶 https://www.youtube.com/@henrydidit?sub_confirmation=1 \n\n-\n\n📹 WATCH NEXT:\n\nWhy is everyone obsessed with notebooks? What’s really going on?: https://youtu.be/LW_H19w812M?si=e8OS6_me5q5imLsH \n3 notebooks to save you from mindless scrolling: https://youtu.be/ANcJgvAJFaU?si=PzJHri8p1KW9z3Qc \n\n📸 MY OTHER SOCIALS\n\nInstagram: https://www.instagram.com/henrydidit_/ \n\n🙏 CREDITS:\n\nIn the journal section of the video I mention a practice called Morning Pages. This was introduced by Julia Cameron in her book the Artist's Way in 1992. It changed my life and unlocked my creativity at a time when I really needed it. \n\nhttps://juliacameronlive.com/\n\n📖 THE EXCEPTION TO MY ANALOGUE OBSESSION: \n\nI use Shortform to help me decide which books I’m going to buy and to revisit summaries of books I’ve read in the past. It’s really great. So if you want to learn even more from important non-fiction books, check out http://shortform.com/henry You’ll get 5-days of unlimited access + an additional 20% discount on the annual subscription. I get a kickback if you use my link 🤙.\n\n🥁MUSIC I USE:\n\nI get my music from Epidemic Sound. You can check out the tracks I use in my videos in this playlist. \nhttps://www.epidemicsound.com/playlist/p6b1fa9c2k284zfx7y32ra5ozzfd37ej/ \n\n🙏 THANKS:\n\nA huge thanks to my great pal @__clowndisco for his wonderful illustrations. They made the video. Check him out on at https://www.instagram.com/__clowndisco/ \n\n🤙 WHO AM I?\n\nIf we haven’t met yet, hey, I’m Henry. I run a consultancy by day and perform as a magician by night. I’m figuring out how to slow down, stay focused, and make time for the things that bring joy. Sharing what I’m learning as I go.\n\n🍿7,300\n\n🕒 TIMESTAMPS:\n\n00:00 - Intro\n01:55 - Journal\n05:15 - Watch\n07:24 - Camera\n09:58 - Books\n11:42 - Postcards\n\n#analog #digitaldetox #journal #notebook #doomscrolling", "Swapping smart devices for analog changed my life", 906, false, "uNFDgKFY6Vk", "https://www.youtube.com/watch?v=uNFDgKFY6Vk", "/downloads/Watch Next/Swapping smart devices for analog changed my life/Swapping smart devices for analog changed my life [uNFDgKFY6Vk].mp4", false, 8, ~U[2025-04-14 13:01:36Z]] 18:21:20.850 [debug] QUERY OK source="sources" db=0.2ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.851 [debug] QUERY OK source="media_items" db=0.2ms idle=5.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-01 21:23:32Z], 8] 18:21:20.853 [debug] QUERY OK source="media_items" db=1.8ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Sign up for the my free newsletter here 👉 https://henrydidit.kit.com/newsletter-signup\n\nIn the last few years I've become increasingly attached to my phone. Mindlessly scrolling social media was getting in the way of making progress on creative projects, was disrupting my sleep and making me unhappy.\n\nI've been searching for ways to replace this habit with something more productive and in the last year I've experimented with different ways a notebook could fulfill this role.\nHere’s what I’ve learned thus far. \n✌️\n🐶 SUBSCRIBE FOR LARRY 🐶 https://www.youtube.com/@henrydidit?sub_confirmation=1\n\n-\n\n🙏 THANKS:\n\nhttps://www.instagram.com/__clowndisco/ \n\n🍿 WATCH NEXT:\n\nI found the KING of productivity hacks: https://youtu.be/wTJB2v4yZTo?si=WdOwJBtvaPZRVNKi\nThe only book you need to get better at anything: https://youtu.be/j25Fi17ak3E\n\n📸 MY OTHER SOCIALS\n\nInstagram: https://www.instagram.com/henrydidit_/\n\n🙌 CREDITS:\n\nShawn Michaels Wins the Royal Rumble, WWE: https://www.youtube.com/watch?v=GlBeQshE1R8 \nBronny James Goes Off, NBA via ChazNBA: https://youtu.be/2704bsUyByw?si=Fqa1voyGwdl40Duw\nJulia Cameron - Nurturing: https://youtu.be/FLtSptsyh0U?si=mBTVfc5CQQ2Rr0g4 \nMatthew Dicks, The Robery at the Moth Mainstage: https://www.youtube.com/watch?v=QGqYLMO4aBg \nMatthew Dicks, I Swallowed a Penny: NYC Moth StorySLAM: https://www.youtube.com/watch?v=TfNwOdmtLTk \nElizabeth Filips, My Second Brain in Notion - Full Setup: https://www.youtube.com/watch?v=4bxpsvcW2mc&t=20s \nAusitn Kleon, Substack: https://austinkleon.substack.com/ \n\n🙏 FAIR USE: \n\nI believe the clips used in this video fall under the remit of fair use. If any of the owners wish to dispute this I will happily remove the content. I love your work and hope I've represented it fairly and used it in an appropriate context. \n\n📖 HOW I GET THE MOST OUT OF BOOKS I READ: \n\nLearn even more from important non-fiction books at http://shortform.com/henry and receive 5-days of unlimited access + an additional 20% discount on the annual subscription. I get a kickback if you use my link 🤙.\n\n🤝 AFFILIATE PARTNERSHIPS:\n\nSome of the links in this description are affiliate links that I get a kickback from. \n\n🤙 WHO AM I?\n\nIf we haven’t met yet, hey, I’m Henry. I run a consultancy by day and perform as a magician by night. I might have more hobbies than anyone else and am obsessed with learning. Through these videos, I share advice on how to master new skills quickly, follow your creative passions and find the time to work on things that bring you joy. \n\n🕒 TIMESTAMPS:\n\n00:00 - intro\n01:13 - MIND\n03:43 - SOUL\n05:45 - BODY\n\n#journal #notebook #doomscrolling #commonplacebook #pocketnotebook", "3 notebooks to save you from mindless scrolling", "107f1a3b-da43-40de-88f2-488822c8ec78", 534, false, "ANcJgvAJFaU", "https://www.youtube.com/watch?v=ANcJgvAJFaU", 7, "/downloads/Watch Next/3 notebooks to save you from mindless scrolling/3 notebooks to save you from mindless scrolling [ANcJgvAJFaU].mp4", false, false, false, 8, [], 1, ~U[2025-02-01 21:23:32Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "Sign up for the my free newsletter here 👉 https://henrydidit.kit.com/newsletter-signup\n\nIn the last few years I've become increasingly attached to my phone. Mindlessly scrolling social media was getting in the way of making progress on creative projects, was disrupting my sleep and making me unhappy.\n\nI've been searching for ways to replace this habit with something more productive and in the last year I've experimented with different ways a notebook could fulfill this role.\nHere’s what I’ve learned thus far. \n✌️\n🐶 SUBSCRIBE FOR LARRY 🐶 https://www.youtube.com/@henrydidit?sub_confirmation=1\n\n-\n\n🙏 THANKS:\n\nhttps://www.instagram.com/__clowndisco/ \n\n🍿 WATCH NEXT:\n\nI found the KING of productivity hacks: https://youtu.be/wTJB2v4yZTo?si=WdOwJBtvaPZRVNKi\nThe only book you need to get better at anything: https://youtu.be/j25Fi17ak3E\n\n📸 MY OTHER SOCIALS\n\nInstagram: https://www.instagram.com/henrydidit_/\n\n🙌 CREDITS:\n\nShawn Michaels Wins the Royal Rumble, WWE: https://www.youtube.com/watch?v=GlBeQshE1R8 \nBronny James Goes Off, NBA via ChazNBA: https://youtu.be/2704bsUyByw?si=Fqa1voyGwdl40Duw\nJulia Cameron - Nurturing: https://youtu.be/FLtSptsyh0U?si=mBTVfc5CQQ2Rr0g4 \nMatthew Dicks, The Robery at the Moth Mainstage: https://www.youtube.com/watch?v=QGqYLMO4aBg \nMatthew Dicks, I Swallowed a Penny: NYC Moth StorySLAM: https://www.youtube.com/watch?v=TfNwOdmtLTk \nElizabeth Filips, My Second Brain in Notion - Full Setup: https://www.youtube.com/watch?v=4bxpsvcW2mc&t=20s \nAusitn Kleon, Substack: https://austinkleon.substack.com/ \n\n🙏 FAIR USE: \n\nI believe the clips used in this video fall under the remit of fair use. If any of the owners wish to dispute this I will happily remove the content. I love your work and hope I've represented it fairly and used it in an appropriate context. \n\n📖 HOW I GET THE MOST OUT OF BOOKS I READ: \n\nLearn even more from important non-fiction books at http://shortform.com/henry and receive 5-days of unlimited access + an additional 20% discount on the annual subscription. I get a kickback if you use my link 🤙.\n\n🤝 AFFILIATE PARTNERSHIPS:\n\nSome of the links in this description are affiliate links that I get a kickback from. \n\n🤙 WHO AM I?\n\nIf we haven’t met yet, hey, I’m Henry. I run a consultancy by day and perform as a magician by night. I might have more hobbies than anyone else and am obsessed with learning. Through these videos, I share advice on how to master new skills quickly, follow your creative passions and find the time to work on things that bring you joy. \n\n🕒 TIMESTAMPS:\n\n00:00 - intro\n01:13 - MIND\n03:43 - SOUL\n05:45 - BODY\n\n#journal #notebook #doomscrolling #commonplacebook #pocketnotebook", "3 notebooks to save you from mindless scrolling", 534, false, "ANcJgvAJFaU", "https://www.youtube.com/watch?v=ANcJgvAJFaU", "/downloads/Watch Next/3 notebooks to save you from mindless scrolling/3 notebooks to save you from mindless scrolling [ANcJgvAJFaU].mp4", false, 8, ~U[2025-02-01 21:23:32Z]] 18:21:20.854 [debug] QUERY OK source="sources" db=0.3ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.854 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-08-01 13:45:02Z], 8] 18:21:20.856 [debug] QUERY OK source="media_items" db=0.9ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["i love being emotionally manipulated into buying toys\n===========================================================\nTwitch: https://www.twitch.tv/northernlion\nYouTube: https://www.youtube.com/@Northernlion\n===========================================================\nStream date: 07-31-2023\n===========================================================\n#northernlion #clips", "Northernlion explains why Toy Story 2 is transcendent", "93ac78f3-8e97-496a-9cb7-a73fe492b0c5", 818, false, "e_IcN8NqJvM", "https://www.youtube.com/watch?v=e_IcN8NqJvM", 8, "/downloads/Watch Next/Northernlion explains why Toy Story 2 is transcendent/Northernlion explains why Toy Story 2 is transcendent [e_IcN8NqJvM].mp4", false, false, false, 8, [], 1, ~U[2023-08-01 13:45:02Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "i love being emotionally manipulated into buying toys\n===========================================================\nTwitch: https://www.twitch.tv/northernlion\nYouTube: https://www.youtube.com/@Northernlion\n===========================================================\nStream date: 07-31-2023\n===========================================================\n#northernlion #clips", "Northernlion explains why Toy Story 2 is transcendent", 818, false, "e_IcN8NqJvM", "https://www.youtube.com/watch?v=e_IcN8NqJvM", "/downloads/Watch Next/Northernlion explains why Toy Story 2 is transcendent/Northernlion explains why Toy Story 2 is transcendent [e_IcN8NqJvM].mp4", false, 8, ~U[2023-08-01 13:45:02Z]] 18:21:20.857 [debug] QUERY OK source="sources" db=0.2ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.857 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-03-14 10:00:09Z], 8] 18:21:20.859 [debug] QUERY OK source="media_items" db=1.2ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["R & L share photos of all the hairstyles they've had. GMM #047\nComment below and tell us about the worst hairstyles you've ever had. **** SUBSCRIBE for daily episodes: http://bit.ly/subrl2 ****\n\nThis episode of GMM is brought to you by Smule! \nhttp://bit.ly/SmuleWebsite \nGet the MadPad apps: http://bit.ly/MadPad-HD-App\nhttp://bit.ly/MadPad-iPhone-App\n\nFor information about sponsoring an episode of GMM, emails us at show@rhettandlink.com\n\nMAIN YOUTUBE CHANNEL: http://youtube.com/rhettandlink\n\nFACEBOOK: \u202Ahttp://bit.ly/rhettandlinkfb\u202C\n\nTWITTER: \u202Ahttp://bit.ly/rltwitter\u202C\n\nGood Mythical Morning is available for download on iTunes!\nVideo Podcast: http://bit.ly/xuJVPc\nAudio Podcast: http://bit.ly/zSewZ6\n\nRhett and Link are Internetainers dedicated to giving you a daily dose of casual comedy every Monday-Friday on our show \"Good Mythical Morning\" only on youtube.com/rhettandlink2. \n\nJOIN the RhettandLinKommunity!\nhttp://bit.ly/rlkommunity\n\nCREDITS: \nCamera, PA, Editing: Jason Inman\nIntro/Outro music: RoyaltyFreeMusicLibrary.com\u202A\u202Ahttp://www.royaltyfreemusiclibrary.com/\u202C\u202C\u00A0\nMicrophone: The Mouse from Blue Microphones: http://www.bluemic.com/mouse/\n\n------------------\nSubscribe if you like what you see!\n------------------", "Our Bad Hairstyles", "f8dff353-20d6-4922-bc8e-bf98ba9dcd6c", 770, false, "9kek1VVyiEw", "https://www.youtube.com/watch?v=9kek1VVyiEw", 9, "/downloads/Watch Next/Our Bad Hairstyles/Our Bad Hairstyles [9kek1VVyiEw].mp4", false, false, false, 8, [], 1, ~U[2012-03-14 10:00:09Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "R & L share photos of all the hairstyles they've had. GMM #047\nComment below and tell us about the worst hairstyles you've ever had. **** SUBSCRIBE for daily episodes: http://bit.ly/subrl2 ****\n\nThis episode of GMM is brought to you by Smule! \nhttp://bit.ly/SmuleWebsite \nGet the MadPad apps: http://bit.ly/MadPad-HD-App\nhttp://bit.ly/MadPad-iPhone-App\n\nFor information about sponsoring an episode of GMM, emails us at show@rhettandlink.com\n\nMAIN YOUTUBE CHANNEL: http://youtube.com/rhettandlink\n\nFACEBOOK: \u202Ahttp://bit.ly/rhettandlinkfb\u202C\n\nTWITTER: \u202Ahttp://bit.ly/rltwitter\u202C\n\nGood Mythical Morning is available for download on iTunes!\nVideo Podcast: http://bit.ly/xuJVPc\nAudio Podcast: http://bit.ly/zSewZ6\n\nRhett and Link are Internetainers dedicated to giving you a daily dose of casual comedy every Monday-Friday on our show \"Good Mythical Morning\" only on youtube.com/rhettandlink2. \n\nJOIN the RhettandLinKommunity!\nhttp://bit.ly/rlkommunity\n\nCREDITS: \nCamera, PA, Editing: Jason Inman\nIntro/Outro music: RoyaltyFreeMusicLibrary.com\u202A\u202Ahttp://www.royaltyfreemusiclibrary.com/\u202C\u202C\u00A0\nMicrophone: The Mouse from Blue Microphones: http://www.bluemic.com/mouse/\n\n------------------\nSubscribe if you like what you see!\n------------------", "Our Bad Hairstyles", 770, false, "9kek1VVyiEw", "https://www.youtube.com/watch?v=9kek1VVyiEw", "/downloads/Watch Next/Our Bad Hairstyles/Our Bad Hairstyles [9kek1VVyiEw].mp4", false, 8, ~U[2012-03-14 10:00:09Z]] 18:21:20.860 [debug] QUERY OK source="sources" db=0.3ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.861 [debug] QUERY OK source="media_items" db=0.7ms idle=4.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-22 22:22:08Z], 8] 18:21:20.864 [debug] QUERY OK source="media_items" db=2.1ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Beowulf is one of my favorite stories, taking up an entire chapter of my dissertation. But which edition is the best? This video covers three editions that are popular for very different reasons--I talk about which is best for whom, and which I would choose if I was reading it again.\n\nThis channel is just getting started, so let me know what topics you want me to cover in the description below and be sure to subscribe!\n\nChapters:\n0:00 Intro\n01:22 Why not read the original?\n03:18 Klaeber's Beowulf\n06:21 Seamus Heaney's Beowulf\n11:09 Liuzza's Beowulf\n16:38 Conclusion\n\nThanks for watching!\n\nAffiliate Link Disclaimer: All of the following links are Amazon associate links. As an Amazon Associate I earn from qualifying purchases. This doesn't cost you anything extra, but they help me to keep making more content like this. Thanks for your support!\n\nKlaeber’s Beowulf, Fourth Edition: https://amzn.to/4fQqlfA\nBeowulf: A New Verse Translation by Seamus Heaney: https://amzn.to/4mxBlB0\nBeowulf, 2nd Edition by R.M Liuzza: https://amzn.to/45MMcj8\n\n#beowulf #medievaltales #literature #oldenglish #booktube #englishmajor #beowulftranslation #tolkien #epicpoetry", "Which Beowulf should YOU read? - Three Editions Compared", "5a68e224-9a19-4bf4-9641-892aa7235eb2", 1224, false, "1-mWVY-xc54", "https://www.youtube.com/watch?v=1-mWVY-xc54", 10, "/downloads/Watch Next/Which Beowulf should YOU read? - Three Editions Compared/Which Beowulf should YOU read? - Three Editions Compared [1-mWVY-xc54].mp4", false, false, false, 8, [], 1, ~U[2025-08-22 22:22:08Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "Beowulf is one of my favorite stories, taking up an entire chapter of my dissertation. But which edition is the best? This video covers three editions that are popular for very different reasons--I talk about which is best for whom, and which I would choose if I was reading it again.\n\nThis channel is just getting started, so let me know what topics you want me to cover in the description below and be sure to subscribe!\n\nChapters:\n0:00 Intro\n01:22 Why not read the original?\n03:18 Klaeber's Beowulf\n06:21 Seamus Heaney's Beowulf\n11:09 Liuzza's Beowulf\n16:38 Conclusion\n\nThanks for watching!\n\nAffiliate Link Disclaimer: All of the following links are Amazon associate links. As an Amazon Associate I earn from qualifying purchases. This doesn't cost you anything extra, but they help me to keep making more content like this. Thanks for your support!\n\nKlaeber’s Beowulf, Fourth Edition: https://amzn.to/4fQqlfA\nBeowulf: A New Verse Translation by Seamus Heaney: https://amzn.to/4mxBlB0\nBeowulf, 2nd Edition by R.M Liuzza: https://amzn.to/45MMcj8\n\n#beowulf #medievaltales #literature #oldenglish #booktube #englishmajor #beowulftranslation #tolkien #epicpoetry", "Which Beowulf should YOU read? - Three Editions Compared", 1224, false, "1-mWVY-xc54", "https://www.youtube.com/watch?v=1-mWVY-xc54", "/downloads/Watch Next/Which Beowulf should YOU read? - Three Editions Compared/Which Beowulf should YOU read? - Three Editions Compared [1-mWVY-xc54].mp4", false, 8, ~U[2025-08-22 22:22:08Z]] 18:21:20.865 [debug] QUERY OK source="sources" db=0.2ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.866 [debug] QUERY OK source="media_items" db=0.9ms idle=6.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-01-25 15:54:09Z], 8] 18:21:20.868 [debug] QUERY OK source="media_items" db=1.4ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get your new setup from FlexiSpot!\nAmazon US:https://amzn.to/3IBsehp\nAmazon CA:https://amzn.to/3CE3L7g\n\nIn this video, I’m taking about some books that I truly love. These are some of the best science fiction novels with philosophical themes. I talk about novels like Brave New World, a Chinese science fiction trilogy, and more. \n\n→ Support the Channel\n\npatreon.com/_jared\n\n→ Timeline\nBeginning 00:00\nBrave New World 00:49\nFlexispot 2:25\nKlara and the Sun 3:38\nParables of the Talents and Sower 5:45\nRemembrance of Earth's Past 7:09\nHainish Cycle 9:19\n\n→ Thinker\nMy free newsletter: jaredhenderson.substack.com\n\n→ Book Links\nBrave New World: https://amzn.to/3R7XG9j\nKlara and the Sun: https://amzn.to/3XJ9UrG\nParable of the Sower and Parable of the Talents: https://amzn.to/3XTH3jV\nThree-Body Problem, The Dark Forest, and Death's End: https://amzn.to/3j2wvA7\nHainish Cycle: https://amzn.to/3ws0xQT\n\n→ Video Gear\nMic: https://amzn.to/3Uw7ZVw\nRecorder: https://amzn.to/3Tz1uQp\nCamera: https://amzn.to/3Ust3MT\nLens: https://amzn.to/3WXbAhd\n\nThese are affiliate links with Amazon. The channel earns a commission from each purchase — but it doesn't cost you anything.", "Philosophical Science Fiction Novels You Should Read", "838552e4-57cd-4c18-a830-5197fe3205db", 701, false, "Vrd9JnK8cho", "https://www.youtube.com/watch?v=Vrd9JnK8cho", 11, "/downloads/Watch Next/Philosophical Science Fiction Novels You Should Read/Philosophical Science Fiction Novels You Should Read [Vrd9JnK8cho].mp4", false, false, false, 8, [], 1, ~U[2023-01-25 15:54:09Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "Get your new setup from FlexiSpot!\nAmazon US:https://amzn.to/3IBsehp\nAmazon CA:https://amzn.to/3CE3L7g\n\nIn this video, I’m taking about some books that I truly love. These are some of the best science fiction novels with philosophical themes. I talk about novels like Brave New World, a Chinese science fiction trilogy, and more. \n\n→ Support the Channel\n\npatreon.com/_jared\n\n→ Timeline\nBeginning 00:00\nBrave New World 00:49\nFlexispot 2:25\nKlara and the Sun 3:38\nParables of the Talents and Sower 5:45\nRemembrance of Earth's Past 7:09\nHainish Cycle 9:19\n\n→ Thinker\nMy free newsletter: jaredhenderson.substack.com\n\n→ Book Links\nBrave New World: https://amzn.to/3R7XG9j\nKlara and the Sun: https://amzn.to/3XJ9UrG\nParable of the Sower and Parable of the Talents: https://amzn.to/3XTH3jV\nThree-Body Problem, The Dark Forest, and Death's End: https://amzn.to/3j2wvA7\nHainish Cycle: https://amzn.to/3ws0xQT\n\n→ Video Gear\nMic: https://amzn.to/3Uw7ZVw\nRecorder: https://amzn.to/3Tz1uQp\nCamera: https://amzn.to/3Ust3MT\nLens: https://amzn.to/3WXbAhd\n\nThese are affiliate links with Amazon. The channel earns a commission from each purchase — but it doesn't cost you anything.", "Philosophical Science Fiction Novels You Should Read", 701, false, "Vrd9JnK8cho", "https://www.youtube.com/watch?v=Vrd9JnK8cho", "/downloads/Watch Next/Philosophical Science Fiction Novels You Should Read/Philosophical Science Fiction Novels You Should Read [Vrd9JnK8cho].mp4", false, 8, ~U[2023-01-25 15:54:09Z]] 18:21:20.868 [debug] QUERY OK source="sources" db=0.2ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.869 [debug] QUERY OK source="media_items" db=0.6ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-06-02 17:00:12Z], 8] 18:21:20.872 [debug] QUERY OK source="media_items" db=2.3ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["‣ Adapted largely from The Invisible Hook. It's great, go read it: https://www.amazon.com/Invisible-Hook-Hidden-Economics-Pirates/dp/0691150095\n‣ Grey's 2-hour Director's Commentary: https://www.youtube.com/watch?v=efhut46ylC4&list=PLqs5ohhass_Ti_MyDhtRvw59GgGKcdstB\n\n## Special Thanks\n\nPeter T. Leeson for reviewing a draft of the script. Check out his newest book, \"WTF?!: An Economic Tour of the Weird\": https://amzn.to/3eEMm09 \n\n\n## Bonnie Bees\n\nSteven Snow, Bob Kunz, John Buchan, Nevin Spoljaric, Donal Botkin, BN-12, Chris Chapin, Richard Jenkins, Phil Gardner, Martin, سليمان العقل, Steven Grimm, Colin Millions, Saki Comandao, Jason Lewandowski, Andrea Di Biagio, David F Watson, Ben Schwab, Elliot Lepley, rictic, Bobby, Marco Arment, Shallon Brown, Shantanu Raj, emptymachine, George Lin, Henry Ng, Jeffrey Podis, Thunda Plum, Awoo, David Tyler, Derek Bonner, Derek Jackson, Fuesu, iulus, Jordan Earls, Joshua Jamison, Mikko, Nick Fish, Nick Gibson, Orbit_Junkie, Ron Bowes, Tómas Árni Jónasson, Tyler Bryant, Zach Whittle, Oliver Steele, Kermit Norlund, Kevin Costello, Ben Delo, Arctic May, Bear, chrysilis, David Palomares, Emil, Erik Parasiuk, Esteban Santana Santana, Freddi Hørlyck, Frederick The Great, John Rogers, ken mcfarlane, Leon, Maarten van der Blij, Peter Lomax, Rhys Parry, ShiroiYami, Tijmen van Dien, Tristan Watts-Willis, Veronica Peshterianu, Dag Viggo Lokøen, John Lee, Maxime Zielony, Bryan McLemore, Elizabeth Keathley, Alex Simonides, Felix Weis, Melvin Sowah, Giulio Bontadini, Paul Alom, Ryan Tripicchio, Scot Melville\n\n\n## Music\n\nDavid Rees: http://www.davidreesmusic.com", "The Business of Piracy: How Pirate Ships Actually Worked", "1ed7a8aa-a2ab-4395-83fc-13a24ebcb045", 441, false, "T0fAznO1wA8", "https://www.youtube.com/watch?v=T0fAznO1wA8", 12, "/downloads/Watch Next/The Business of Piracy: How Pirate Ships Actually Worked/The Business of Piracy: How Pirate Ships Actually Worked [T0fAznO1wA8].mp4", false, false, false, 8, [], 1, ~U[2020-06-02 17:00:12Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "‣ Adapted largely from The Invisible Hook. It's great, go read it: https://www.amazon.com/Invisible-Hook-Hidden-Economics-Pirates/dp/0691150095\n‣ Grey's 2-hour Director's Commentary: https://www.youtube.com/watch?v=efhut46ylC4&list=PLqs5ohhass_Ti_MyDhtRvw59GgGKcdstB\n\n## Special Thanks\n\nPeter T. Leeson for reviewing a draft of the script. Check out his newest book, \"WTF?!: An Economic Tour of the Weird\": https://amzn.to/3eEMm09 \n\n\n## Bonnie Bees\n\nSteven Snow, Bob Kunz, John Buchan, Nevin Spoljaric, Donal Botkin, BN-12, Chris Chapin, Richard Jenkins, Phil Gardner, Martin, سليمان العقل, Steven Grimm, Colin Millions, Saki Comandao, Jason Lewandowski, Andrea Di Biagio, David F Watson, Ben Schwab, Elliot Lepley, rictic, Bobby, Marco Arment, Shallon Brown, Shantanu Raj, emptymachine, George Lin, Henry Ng, Jeffrey Podis, Thunda Plum, Awoo, David Tyler, Derek Bonner, Derek Jackson, Fuesu, iulus, Jordan Earls, Joshua Jamison, Mikko, Nick Fish, Nick Gibson, Orbit_Junkie, Ron Bowes, Tómas Árni Jónasson, Tyler Bryant, Zach Whittle, Oliver Steele, Kermit Norlund, Kevin Costello, Ben Delo, Arctic May, Bear, chrysilis, David Palomares, Emil, Erik Parasiuk, Esteban Santana Santana, Freddi Hørlyck, Frederick The Great, John Rogers, ken mcfarlane, Leon, Maarten van der Blij, Peter Lomax, Rhys Parry, ShiroiYami, Tijmen van Dien, Tristan Watts-Willis, Veronica Peshterianu, Dag Viggo Lokøen, John Lee, Maxime Zielony, Bryan McLemore, Elizabeth Keathley, Alex Simonides, Felix Weis, Melvin Sowah, Giulio Bontadini, Paul Alom, Ryan Tripicchio, Scot Melville\n\n\n## Music\n\nDavid Rees: http://www.davidreesmusic.com", "The Business of Piracy: How Pirate Ships Actually Worked", 441, false, "T0fAznO1wA8", "https://www.youtube.com/watch?v=T0fAznO1wA8", "/downloads/Watch Next/The Business of Piracy: How Pirate Ships Actually Worked/The Business of Piracy: How Pirate Ships Actually Worked [T0fAznO1wA8].mp4", false, 8, ~U[2020-06-02 17:00:12Z]] 18:21:20.873 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.873 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=5.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-12-31 03:45:50Z], 8] 18:21:20.874 [debug] QUERY OK source="media_items" db=0.8ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["so, like, how do record players, cassette tapes, CD's all hold \"sound\" ?????\nidk tbh. just kinda guessed. (i spent a week researching for this video)\nalso i have Instagram: https://www.instagram.com/basically_him/ \ni might start putting stuff on there idk", "How Does This Stuff Make Sound???", "5d1b5c13-9e5b-412b-96a1-5eb598656a3a", 337, false, "-7PYX0ohST4", "https://www.youtube.com/watch?v=-7PYX0ohST4", 13, "/downloads/Watch Next/How Does This Stuff Make Sound???/How Does This Stuff Make Sound??? [-7PYX0ohST4].mp4", false, false, false, 8, [], 1, ~U[2023-12-31 03:45:50Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "so, like, how do record players, cassette tapes, CD's all hold \"sound\" ?????\nidk tbh. just kinda guessed. (i spent a week researching for this video)\nalso i have Instagram: https://www.instagram.com/basically_him/ \ni might start putting stuff on there idk", "How Does This Stuff Make Sound???", 337, false, "-7PYX0ohST4", "https://www.youtube.com/watch?v=-7PYX0ohST4", "/downloads/Watch Next/How Does This Stuff Make Sound???/How Does This Stuff Make Sound??? [-7PYX0ohST4].mp4", false, 8, ~U[2023-12-31 03:45:50Z]] 18:21:20.875 [debug] QUERY OK source="sources" db=0.3ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.876 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-15 14:01:37Z], 8] 18:21:20.878 [debug] QUERY OK source="media_items" db=1.4ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I photographed the Milky Way from every light pollution level, to see how it affects night sky photos. I did this using my Nikon Z5II camera and NIKKOR Z 14-24MM F/2.8 S Lens. HUGE shoutout to Nikon for sponsoring this video and making this possible!\n\nFREE Bortle Scale Chart on my Patreon: https://patreon.com/IanLauerAstro\n\nAFFILIATE LINKS\nNikon Z5II Camera: https://amzn.to/4r06RtZ\nNIKKOR Z 14-24MM F/2.8 S Lens: https://amzn.to/3JyZCZm\nTripod: https://amzn.to/447h0v5\nMicrophone: https://amzn.to/47aKPeU\n\nASTROPHOTO RESOURCES\nFREE Beginner Telescope Guide: https://shorturl.at/ONTLo\nLearn Deep Space Photography: https://shorturl.at/gYHOy\nNewsletter for bite-sized astro updates: https://shorturl.at/qOYgN\n\nUpcoming Astro Workshops: https://stargazertours.com/\nStargazer Clothing: https://shorturl.at/O5RtM\n\nSocial media:\nhttps://www.instagram.com/ianlauerastro\nhttps://www.facebook.com/ianlauerastro\nhttps://x.com/ianlauerastro\n\n#nikon", "Shooting the Milky Way from Every Light Pollution Level", "e321c1b1-b558-4e34-ad99-212060ca69da", 898, false, "sRuLSFmBIFs", "https://www.youtube.com/watch?v=sRuLSFmBIFs", 14, "/downloads/Watch Next/Shooting the Milky Way from Every Light Pollution Level/Shooting the Milky Way from Every Light Pollution Level [sRuLSFmBIFs].mp4", false, false, false, 8, [], 1, ~U[2025-11-15 14:01:37Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "I photographed the Milky Way from every light pollution level, to see how it affects night sky photos. I did this using my Nikon Z5II camera and NIKKOR Z 14-24MM F/2.8 S Lens. HUGE shoutout to Nikon for sponsoring this video and making this possible!\n\nFREE Bortle Scale Chart on my Patreon: https://patreon.com/IanLauerAstro\n\nAFFILIATE LINKS\nNikon Z5II Camera: https://amzn.to/4r06RtZ\nNIKKOR Z 14-24MM F/2.8 S Lens: https://amzn.to/3JyZCZm\nTripod: https://amzn.to/447h0v5\nMicrophone: https://amzn.to/47aKPeU\n\nASTROPHOTO RESOURCES\nFREE Beginner Telescope Guide: https://shorturl.at/ONTLo\nLearn Deep Space Photography: https://shorturl.at/gYHOy\nNewsletter for bite-sized astro updates: https://shorturl.at/qOYgN\n\nUpcoming Astro Workshops: https://stargazertours.com/\nStargazer Clothing: https://shorturl.at/O5RtM\n\nSocial media:\nhttps://www.instagram.com/ianlauerastro\nhttps://www.facebook.com/ianlauerastro\nhttps://x.com/ianlauerastro\n\n#nikon", "Shooting the Milky Way from Every Light Pollution Level", 898, false, "sRuLSFmBIFs", "https://www.youtube.com/watch?v=sRuLSFmBIFs", "/downloads/Watch Next/Shooting the Milky Way from Every Light Pollution Level/Shooting the Milky Way from Every Light Pollution Level [sRuLSFmBIFs].mp4", false, 8, ~U[2025-11-15 14:01:37Z]] 18:21:20.879 [debug] QUERY OK source="sources" db=0.7ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.879 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2015-09-16 10:57:03Z], 8] 18:21:20.881 [debug] QUERY OK source="media_items" db=1.2ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["On a dry lakebed in Nevada, a group of friends build the first scale model of the solar system with complete planetary orbits: a true illustration of our place in the universe.\n\nWe're making a series! Check the project out at www.ToScaleSeries.com\nConsider becoming a Patreon to support more films like this: patreon.com/toscale\n\nA film by Wylie Overstreet and Alex Gorosh\nwylieoverstreet.com\nalexgorosh.com\n_____\n\nHelp us caption & translate this short film:\nhttp://amara.org/v/HHTb/\n\nCopyright (C) 2015", "To Scale: THE SOLAR SYSTEM", "61eb53c3-d30d-4e01-b31c-c13a12d2edc2", 427, false, "zR3Igc3Rhfg", "https://www.youtube.com/watch?v=zR3Igc3Rhfg", 15, "/downloads/Watch Next/To Scale: THE SOLAR SYSTEM/To Scale: THE SOLAR SYSTEM [zR3Igc3Rhfg].mp4", false, false, false, 8, [], 1, ~U[2015-09-16 10:57:03Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "On a dry lakebed in Nevada, a group of friends build the first scale model of the solar system with complete planetary orbits: a true illustration of our place in the universe.\n\nWe're making a series! Check the project out at www.ToScaleSeries.com\nConsider becoming a Patreon to support more films like this: patreon.com/toscale\n\nA film by Wylie Overstreet and Alex Gorosh\nwylieoverstreet.com\nalexgorosh.com\n_____\n\nHelp us caption & translate this short film:\nhttp://amara.org/v/HHTb/\n\nCopyright (C) 2015", "To Scale: THE SOLAR SYSTEM", 427, false, "zR3Igc3Rhfg", "https://www.youtube.com/watch?v=zR3Igc3Rhfg", "/downloads/Watch Next/To Scale: THE SOLAR SYSTEM/To Scale: THE SOLAR SYSTEM [zR3Igc3Rhfg].mp4", false, 8, ~U[2015-09-16 10:57:03Z]] 18:21:20.881 [debug] QUERY OK source="sources" db=0.3ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.882 [debug] QUERY OK source="media_items" db=0.3ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-23 16:16:30Z], 8] 18:21:20.883 [debug] QUERY OK source="media_items" db=1.0ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://80000hours.org/jaredhenderson to start planning a career that is meaningful, fulfilling, and helps solve one of the world’s most pressing problems.\n\nSince we're at the end of the year, I wanted to share the best books I read in 2025.\n\nBooks mentioned: The Honourable Schoolboy by John Le Carré, Ficciones by Borges, No Longer Human by Osamu Dazai, Remains of the Day by Kazuo Ishiguro, On The Calculation of Volume by Solvej Balle, The Affirmation of Life by Bernard Reginster, Technopoly by Neil Postman, and Hegel by Frederick Beiser.\n\nI run a book club on Substack! Check it out here: https://jaredhenderson.substack.com/p/everything-you-need-to-know-about\n\nWatch my videos early on Nebula: https://go.nebula.tv/jaredhenderson\n\n00:00 Intro\n00:28 The Honourable Schoolboy (John Le Carre)\n02:52 Ficciones (Jorge Luis Borges)\n08:11 The Remains of the Day (Kazuo Ishiguro)\n12:30 On the Calculation of Volume (Solvej Balle)\n15:40 No Longer Human (Osamu Dazai)\n20:29 The Affirmation of Life (Bernard Reginster)\n25:05 Hegel (Frederick Beiser)\n28:47 Technopoly (Neil Postman)", "These are the 8 best books I read in 2025", "a13d78df-bd1b-453d-9e8a-58f7077183a1", 2149, false, "U0REsgdTVmI", "https://www.youtube.com/watch?v=U0REsgdTVmI", 16, "/downloads/Watch Next/These are the 8 best books I read in 2025/These are the 8 best books I read in 2025 [U0REsgdTVmI].mp4", false, false, false, 8, [], 1, ~U[2025-12-23 16:16:30Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "Head to https://80000hours.org/jaredhenderson to start planning a career that is meaningful, fulfilling, and helps solve one of the world’s most pressing problems.\n\nSince we're at the end of the year, I wanted to share the best books I read in 2025.\n\nBooks mentioned: The Honourable Schoolboy by John Le Carré, Ficciones by Borges, No Longer Human by Osamu Dazai, Remains of the Day by Kazuo Ishiguro, On The Calculation of Volume by Solvej Balle, The Affirmation of Life by Bernard Reginster, Technopoly by Neil Postman, and Hegel by Frederick Beiser.\n\nI run a book club on Substack! Check it out here: https://jaredhenderson.substack.com/p/everything-you-need-to-know-about\n\nWatch my videos early on Nebula: https://go.nebula.tv/jaredhenderson\n\n00:00 Intro\n00:28 The Honourable Schoolboy (John Le Carre)\n02:52 Ficciones (Jorge Luis Borges)\n08:11 The Remains of the Day (Kazuo Ishiguro)\n12:30 On the Calculation of Volume (Solvej Balle)\n15:40 No Longer Human (Osamu Dazai)\n20:29 The Affirmation of Life (Bernard Reginster)\n25:05 Hegel (Frederick Beiser)\n28:47 Technopoly (Neil Postman)", "These are the 8 best books I read in 2025", 2149, false, "U0REsgdTVmI", "https://www.youtube.com/watch?v=U0REsgdTVmI", "/downloads/Watch Next/These are the 8 best books I read in 2025/These are the 8 best books I read in 2025 [U0REsgdTVmI].mp4", false, 8, ~U[2025-12-23 16:16:30Z]] 18:21:20.884 [debug] QUERY OK source="sources" db=0.2ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.884 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-02-18 18:32:49Z], 8] 18:21:20.886 [debug] QUERY OK source="media_items" db=1.2ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I’m giving more book recommendations. This time, we’re discussing philosophical science fiction novels. I include a few science fiction classics, like Foundation by Asimov, and a few of my personal favorites as well. \n\n→ Support\nJoin this channel to get access to perks:\nhttps://www.youtube.com/channel/UC2Ky...\n\nOr support me on Patreon: https://www.patreon.com/user?u=84329184\n\n→ Book Links\n\nDune: https://amzn.to/3IyDs5P\nSolaris: https://amzn.to/3xxUKK5\nCloud Atlas: https://amzn.to/3IekCj6\nFoundation: https://amzn.to/3Ek47ASA \nCanticle for Leibowitz: https://amzn.to/3k3buWL\nAnathem: https://amzn.to/3Z3lSwv\nFrankenstein: https://amzn.to/3KizVKd\nThe Man in the High Castle: https://amzn.to/3Ehj1In\nAncillary Justice: https://amzn.to/3k7nnL4\nCulture Novels: https://amzn.to/3IIv0Br\nMemory Called Empire: https://amzn.to/3Z2EVHk\n\n\n→ Want to send me something?\nPO Box 660298\nAustin, TX 78766\n\n→ Thinker\nMy newsletter, all about philosophy: jaredhenderson.substack.com\n\n→ The Classical Mind\nCheck out my podcast where I discuss a great work of literature or philosophy every month: https://theclassicalmind.com\n\n→ Video Gear\nMic: https://amzn.to/3Uw7ZVw\nRecorder: https://amzn.to/3Tz1uQp\nCamera: https://amzn.to/3Ust3MT\nLens: https://amzn.to/3WXbAhd\n\nThese are affiliate links with Amazon. The channel earns a commission from each purchase — but it doesn't cost you anything.", "7 Philosophical Science Fiction Novels You Need to Read", "9cdd6f45-f996-4e06-a931-973d8479a749", 610, false, "P-LFuvKv_bI", "https://www.youtube.com/watch?v=P-LFuvKv_bI", 17, "/downloads/Watch Next/7 Philosophical Science Fiction Novels You Need to Read/7 Philosophical Science Fiction Novels You Need to Read [P-LFuvKv_bI].mp4", false, false, false, 8, [], 1, ~U[2023-02-18 18:32:49Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "In this video, I’m giving more book recommendations. This time, we’re discussing philosophical science fiction novels. I include a few science fiction classics, like Foundation by Asimov, and a few of my personal favorites as well. \n\n→ Support\nJoin this channel to get access to perks:\nhttps://www.youtube.com/channel/UC2Ky...\n\nOr support me on Patreon: https://www.patreon.com/user?u=84329184\n\n→ Book Links\n\nDune: https://amzn.to/3IyDs5P\nSolaris: https://amzn.to/3xxUKK5\nCloud Atlas: https://amzn.to/3IekCj6\nFoundation: https://amzn.to/3Ek47ASA \nCanticle for Leibowitz: https://amzn.to/3k3buWL\nAnathem: https://amzn.to/3Z3lSwv\nFrankenstein: https://amzn.to/3KizVKd\nThe Man in the High Castle: https://amzn.to/3Ehj1In\nAncillary Justice: https://amzn.to/3k7nnL4\nCulture Novels: https://amzn.to/3IIv0Br\nMemory Called Empire: https://amzn.to/3Z2EVHk\n\n\n→ Want to send me something?\nPO Box 660298\nAustin, TX 78766\n\n→ Thinker\nMy newsletter, all about philosophy: jaredhenderson.substack.com\n\n→ The Classical Mind\nCheck out my podcast where I discuss a great work of literature or philosophy every month: https://theclassicalmind.com\n\n→ Video Gear\nMic: https://amzn.to/3Uw7ZVw\nRecorder: https://amzn.to/3Tz1uQp\nCamera: https://amzn.to/3Ust3MT\nLens: https://amzn.to/3WXbAhd\n\nThese are affiliate links with Amazon. The channel earns a commission from each purchase — but it doesn't cost you anything.", "7 Philosophical Science Fiction Novels You Need to Read", 610, false, "P-LFuvKv_bI", "https://www.youtube.com/watch?v=P-LFuvKv_bI", "/downloads/Watch Next/7 Philosophical Science Fiction Novels You Need to Read/7 Philosophical Science Fiction Novels You Need to Read [P-LFuvKv_bI].mp4", false, 8, ~U[2023-02-18 18:32:49Z]] 18:21:20.886 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.887 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-02-10 15:01:24Z], 8] 18:21:20.888 [debug] QUERY OK source="media_items" db=0.9ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use my code SHAQUILLE15 at Viski: https://viski.com/internetshaquille\nEvery time I cover a controversial topic, a portion of the audience can be expected to demand a definitive conclusion. Here's mine (spoiler alert!): You ~should~ wash every single knife by hand and dry it quickly. There's really no reason not to treat your tools with care. Still, I'm glad I did this whole Knife vs Dishwasher experiment because I always assumed one cycle in a dishwasher would immediately dull any chefs knife.\n\n✨Promo Links are Down Here✨\nSupport on Patreon: https://www.patreon.com/shaq\nBuy My Ceramics: https://www.dinnerwithbarkley.com\nFollow on Instagram: https://www.instagram.com/internetshaquille/", "I Put My Fanciest Knife in the Dishwasher", "3c4ee5a9-7e34-406c-8419-b90d4da481ae", 427, false, "_GfZtDhIR5o", "https://www.youtube.com/watch?v=_GfZtDhIR5o", 18, "/downloads/Watch Next/I Put My Fanciest Knife in the Dishwasher/I Put My Fanciest Knife in the Dishwasher [_GfZtDhIR5o].mp4", false, false, false, 8, [], 1, ~U[2023-02-10 15:01:24Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "Use my code SHAQUILLE15 at Viski: https://viski.com/internetshaquille\nEvery time I cover a controversial topic, a portion of the audience can be expected to demand a definitive conclusion. Here's mine (spoiler alert!): You ~should~ wash every single knife by hand and dry it quickly. There's really no reason not to treat your tools with care. Still, I'm glad I did this whole Knife vs Dishwasher experiment because I always assumed one cycle in a dishwasher would immediately dull any chefs knife.\n\n✨Promo Links are Down Here✨\nSupport on Patreon: https://www.patreon.com/shaq\nBuy My Ceramics: https://www.dinnerwithbarkley.com\nFollow on Instagram: https://www.instagram.com/internetshaquille/", "I Put My Fanciest Knife in the Dishwasher", 427, false, "_GfZtDhIR5o", "https://www.youtube.com/watch?v=_GfZtDhIR5o", "/downloads/Watch Next/I Put My Fanciest Knife in the Dishwasher/I Put My Fanciest Knife in the Dishwasher [_GfZtDhIR5o].mp4", false, 8, ~U[2023-02-10 15:01:24Z]] 18:21:20.889 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.889 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2014-12-17 15:12:19Z], 8] 18:21:20.891 [debug] QUERY OK source="media_items" db=1.3ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["LOTR Wallpapers at Patreon:http://www.patreon.com/creation?hid=1385484\n\n\nSpecial Thanks:\n\nProfessor Verlyn Flieger http://mythus.com/\n\nhttp://askmiddlearth.tumblr.com/\n\nSoliloquy: http://goo.gl/LQEakz\n\n@icel, @VivaLaDiva405, Rory Howington, Vijayalakshmi, Jason Arkin, Malthe Agger, rictic, Ian, Saki Comandao, Edward DeLany, Chris Kitching, PervertedThomas, Brian Peterson, Ron Bowes, Tómas Árni Jónasson, Michael Morden, Mikko, Derek Bonner, Derek Jackson, Iain Flockton, Jim, Sokhom Chhim, Shawn Bazin, Finn Kelly, Dan, Orbit_Junkie, Eren Polat, Mark Elders, Lars-Göran, Veronica Peshterianu, Daniel Heeb, Juan Villagrana, Ernesto Jimenez, Paul Tomblin, Travis Wichert, Andrew Bailey, Israel Armando, Teddy, Ricardo, Yousef Hasan, Ruud Hermans, Keng, Alex Morales, Ryan E Manning, Linh, Erik Parasiuk, Rhys Parry, Arian Flores, Jennifer Richardson, Maarten van der Blij, Björn Morén, Jim, Eric Stangeland, Rustam Anvarov, Sam Kokin, Kevin Anderson, Gustavo Jimenez, Thomas Petersen, Kyle Bloom, Osric Lord-Williams, Myke Hurley, David, Ryan Nielsen, Esteban Santana Santana, Terry Steiner, Dag Viggo Lokøen, Tristan Watts-Willis, Ian N Riopel, John Rogers, Edward Adams, Ryan, Kevin, Nicolae Berbece, Alex Prescott, Leon, Alexander Kosenkov, Daniel Slater, Sunny Yin, Sigurður Snær Eiríksson, Maxime Zielony, Anders, ken mcfarlane, AUFFRAY Clement, Aaron Miller, Bill Wolf, Himesh Sheth, Thomas Weir, Caswal Parker, Brandon Callender, Joseph, Stephen Litt Belch, Sean Church, Pierre Perrott, Ilan, Mr.Z, Heemi Kutia, Timothy Moran, Peter Lomax, Quin Thames, darkmage0707077, Ørjan Sollie, Emil, Kelsey Wainwright, Richard Harrison, Robby Gottesman, Ali Moeeny, Lachlan Holmes, Jonas Maaløe, John Bevan, Dan Hiel, Callas, Elizabeth Keathley, John Lee, Tijmen van Dien, ShiroiYami, thomas van til, Drew Stephens, Owen Degen, Tobias Gies, Alex Schuldberg, Ryan Constantin, Jerry Lin, Rasmus Svensson, Bear, Lars, Jacob Ostling, Cody Fitzgerald, Guillaume PERRIN, John Waltmans, Solon Carter, Joel Wunderle, Rescla, GhostDivision, Andrew Proue, David Lombardo, Tor Henrik Lehne, David Palomares, Cas Eliëns, paul everitt, Karl Johan Stensland Dy, Freddi Hørlyck\n\nArtwork:\n\nhttp://kittyninjafish.deviantart.com/\n\n\nMusic:\n\nhttp://incompetech.com/", "You Have No Idea What Gandalf Is", "6e6a9ada-a30c-463b-9bdf-6cdec7018df7", 267, false, "YxgsxaFWWHQ", "https://www.youtube.com/watch?v=YxgsxaFWWHQ", 19, "/downloads/Watch Next/You Have No Idea What Gandalf Is/You Have No Idea What Gandalf Is [YxgsxaFWWHQ].mp4", false, false, false, 8, [], 1, ~U[2014-12-17 15:12:19Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "LOTR Wallpapers at Patreon:http://www.patreon.com/creation?hid=1385484\n\n\nSpecial Thanks:\n\nProfessor Verlyn Flieger http://mythus.com/\n\nhttp://askmiddlearth.tumblr.com/\n\nSoliloquy: http://goo.gl/LQEakz\n\n@icel, @VivaLaDiva405, Rory Howington, Vijayalakshmi, Jason Arkin, Malthe Agger, rictic, Ian, Saki Comandao, Edward DeLany, Chris Kitching, PervertedThomas, Brian Peterson, Ron Bowes, Tómas Árni Jónasson, Michael Morden, Mikko, Derek Bonner, Derek Jackson, Iain Flockton, Jim, Sokhom Chhim, Shawn Bazin, Finn Kelly, Dan, Orbit_Junkie, Eren Polat, Mark Elders, Lars-Göran, Veronica Peshterianu, Daniel Heeb, Juan Villagrana, Ernesto Jimenez, Paul Tomblin, Travis Wichert, Andrew Bailey, Israel Armando, Teddy, Ricardo, Yousef Hasan, Ruud Hermans, Keng, Alex Morales, Ryan E Manning, Linh, Erik Parasiuk, Rhys Parry, Arian Flores, Jennifer Richardson, Maarten van der Blij, Björn Morén, Jim, Eric Stangeland, Rustam Anvarov, Sam Kokin, Kevin Anderson, Gustavo Jimenez, Thomas Petersen, Kyle Bloom, Osric Lord-Williams, Myke Hurley, David, Ryan Nielsen, Esteban Santana Santana, Terry Steiner, Dag Viggo Lokøen, Tristan Watts-Willis, Ian N Riopel, John Rogers, Edward Adams, Ryan, Kevin, Nicolae Berbece, Alex Prescott, Leon, Alexander Kosenkov, Daniel Slater, Sunny Yin, Sigurður Snær Eiríksson, Maxime Zielony, Anders, ken mcfarlane, AUFFRAY Clement, Aaron Miller, Bill Wolf, Himesh Sheth, Thomas Weir, Caswal Parker, Brandon Callender, Joseph, Stephen Litt Belch, Sean Church, Pierre Perrott, Ilan, Mr.Z, Heemi Kutia, Timothy Moran, Peter Lomax, Quin Thames, darkmage0707077, Ørjan Sollie, Emil, Kelsey Wainwright, Richard Harrison, Robby Gottesman, Ali Moeeny, Lachlan Holmes, Jonas Maaløe, John Bevan, Dan Hiel, Callas, Elizabeth Keathley, John Lee, Tijmen van Dien, ShiroiYami, thomas van til, Drew Stephens, Owen Degen, Tobias Gies, Alex Schuldberg, Ryan Constantin, Jerry Lin, Rasmus Svensson, Bear, Lars, Jacob Ostling, Cody Fitzgerald, Guillaume PERRIN, John Waltmans, Solon Carter, Joel Wunderle, Rescla, GhostDivision, Andrew Proue, David Lombardo, Tor Henrik Lehne, David Palomares, Cas Eliëns, paul everitt, Karl Johan Stensland Dy, Freddi Hørlyck\n\nArtwork:\n\nhttp://kittyninjafish.deviantart.com/\n\n\nMusic:\n\nhttp://incompetech.com/", "You Have No Idea What Gandalf Is", 267, false, "YxgsxaFWWHQ", "https://www.youtube.com/watch?v=YxgsxaFWWHQ", "/downloads/Watch Next/You Have No Idea What Gandalf Is/You Have No Idea What Gandalf Is [YxgsxaFWWHQ].mp4", false, 8, ~U[2014-12-17 15:12:19Z]] 18:21:20.891 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.892 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-07 17:01:36Z], 8] 18:21:20.893 [debug] QUERY OK source="media_items" db=0.5ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code channel5 at https://incogni.com/channel5 to get an exclusive 60% off.\n\nTo buy tickets to C5 Carnival, head to https://channel5.news/pages/carnival\n\nTo see our new episode on Nahuatl Language revival, head to https://www.youtube.com/@CanalCincoLatam/videos", "Irish Language Revival", "de887f33-1f63-4c81-80f2-944dc442c5cb", 3783, false, "m7MU64QuZtU", "https://www.youtube.com/watch?v=m7MU64QuZtU", 20, "/downloads/Watch Next/Irish Language Revival/Irish Language Revival [m7MU64QuZtU].mp4", false, false, false, 8, [], 1, ~U[2026-02-07 17:01:36Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "Use code channel5 at https://incogni.com/channel5 to get an exclusive 60% off.\n\nTo buy tickets to C5 Carnival, head to https://channel5.news/pages/carnival\n\nTo see our new episode on Nahuatl Language revival, head to https://www.youtube.com/@CanalCincoLatam/videos", "Irish Language Revival", 3783, false, "m7MU64QuZtU", "https://www.youtube.com/watch?v=m7MU64QuZtU", "/downloads/Watch Next/Irish Language Revival/Irish Language Revival [m7MU64QuZtU].mp4", false, 8, ~U[2026-02-07 17:01:36Z]] 18:21:20.893 [debug] QUERY OK source="sources" db=0.1ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.893 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-07-14 13:30:15Z], 8] 18:21:20.895 [debug] QUERY OK source="media_items" db=0.9ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 25% off Blinkist Annual premium! Start your 7-day free trial by clicking here: https://www.blinkist.com/jaredhenderson\n\nI'm often asked for book recommendations, and in particular recommendations for people who want to find life-changing books. It is a difficult request to fulfill. But today I've put together a list of books which I think could really change your life. \n\n→ Links\nPatreon: patreon.com/_jared\nDiscord: Discord: https://discord.gg/xq6wDUtdyQ\nNewsletter:jaredhenderson.substack.com\nSecond channel: @jaredminus\n\n→ Books\nThe World-Ending Fire: https://amzn.to/43o3rEw\nEnchiridion of Epictetus: https://amzn.to/44MXty7\nThe Creative Act: https://amzn.to/3rpXWYy\nThe Psychology of Money: https://amzn.to/44mc1oo\nNarrative of the Life of Frederick Douglass: https://amzn.to/44oHO8l\nShop Class as Soulcraft: https://amzn.to/46ZWxZ8\n\n\n→ Music\nOriginal music by The Music Giant\nGet custom music created for your content: https://www.themusicgiant.com/contentcreators\n\n→ Video Gear\nMic: https://amzn.to/3Uw7ZVw\nRecorder: https://amzn.to/3Tz1uQp\nCamera: https://amzn.to/3Ust3MT\nCamera (upgrade): https://amzn.to/3EFGW4e\nLens: https://amzn.to/3WXbAhd\nLens (upgrade): https://amzn.to/3SA49KM\n\nThese are affiliate links with Amazon. The channel earns a commission from each purchase — but it doesn't cost you anything.", "These Books Could Change Your Life", "943c4453-5efb-4ca6-b8e1-1412a4519475", 1044, false, "T7RxnclkKTE", "https://www.youtube.com/watch?v=T7RxnclkKTE", 21, "/downloads/Watch Next/These Books Could Change Your Life/These Books Could Change Your Life [T7RxnclkKTE].mp4", false, false, false, 8, [], 1, ~U[2023-07-14 13:30:15Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "Get 25% off Blinkist Annual premium! Start your 7-day free trial by clicking here: https://www.blinkist.com/jaredhenderson\n\nI'm often asked for book recommendations, and in particular recommendations for people who want to find life-changing books. It is a difficult request to fulfill. But today I've put together a list of books which I think could really change your life. \n\n→ Links\nPatreon: patreon.com/_jared\nDiscord: Discord: https://discord.gg/xq6wDUtdyQ\nNewsletter:jaredhenderson.substack.com\nSecond channel: @jaredminus\n\n→ Books\nThe World-Ending Fire: https://amzn.to/43o3rEw\nEnchiridion of Epictetus: https://amzn.to/44MXty7\nThe Creative Act: https://amzn.to/3rpXWYy\nThe Psychology of Money: https://amzn.to/44mc1oo\nNarrative of the Life of Frederick Douglass: https://amzn.to/44oHO8l\nShop Class as Soulcraft: https://amzn.to/46ZWxZ8\n\n\n→ Music\nOriginal music by The Music Giant\nGet custom music created for your content: https://www.themusicgiant.com/contentcreators\n\n→ Video Gear\nMic: https://amzn.to/3Uw7ZVw\nRecorder: https://amzn.to/3Tz1uQp\nCamera: https://amzn.to/3Ust3MT\nCamera (upgrade): https://amzn.to/3EFGW4e\nLens: https://amzn.to/3WXbAhd\nLens (upgrade): https://amzn.to/3SA49KM\n\nThese are affiliate links with Amazon. The channel earns a commission from each purchase — but it doesn't cost you anything.", "These Books Could Change Your Life", 1044, false, "T7RxnclkKTE", "https://www.youtube.com/watch?v=T7RxnclkKTE", "/downloads/Watch Next/These Books Could Change Your Life/These Books Could Change Your Life [T7RxnclkKTE].mp4", false, 8, ~U[2023-07-14 13:30:15Z]] 18:21:20.895 [debug] QUERY OK source="sources" db=0.1ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.895 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 10:37:12Z], 8] 18:21:20.902 [debug] QUERY OK source="media_items" db=5.9ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🗣️ Check out Wispr Flow and use my code IZZY for an extra 30 days free ➡️ https://wisprflow.ai/izzy\n👩🏻\u200D🍳 Get your free Hobby Menu here 👉 https://link.izzysealey.com/hobby-menu\n🧘🏻\u200D♀️ Download my free Meditation Starter Pack today 👉 https://link.izzysealey.com/yt/lm/meditation-starter-pack\n\nMy Newsletter\n💌 Letters to My Younger Self → the weekly journalling prompts + personal development notes I wish my younger self could read: https://link.izzysealey.com/yt/letters\n\nApps I’m building as part of Sparkle Studios\n🚀 Momentum: Energising Habits (iOS) - Download Now → https://go.sparkle.so/momentum/youtube/description_izzy\n👻 VoicePal: AI Writing App (iOS/Android) - Download for Free → https://go.sparkle.so/voicepal/yt/izzy\n\nMy Courses\n🧠 Learn Chinese faster & smarter with The Bamboo Mandarin Method → https://link.izzysealey.com/yt/bm\n🐉 Want to learn Chinese? Get my FREE email guide → https://link.izzysealey.com/yt/bmcc\n\nRecommended Courses\n🤑 Grow / Monetise your YouTube Channel → https://link.izzysealey.com/yt/ptya\n\n🔗 Connect with me\n📸 Instagram (daily updates 👀): https://www.instagram.com/izzysealey/\n🌍 My website: https://www.izzysealey.com/\n\n~\n\n🎶 Where I get my video music + sounds (get a 30-day free trial): https://link.izzysealey.com/yt/epidemic\n🗣️ Get fluent with italki language tutoring (get $10 free credits with this link): https://link.izzysealey.com/yt/italki\n⚙️ My Gear for making videos: https://link.izzysealey.com/yt/gear\n\nWho am I? 🙋🏻\u200D♀️ \nHey there, my name’s Izzy 🙋🏻\u200D♀️ I’m a Cambridge uni grad, medical doctor, and YouTuber. I love to learn Chinese, journal, and do yoga. My mission is to help you fulfil your innate potential and create a life you love through personal growth in mind, body and spirit. ⚡️\n\n» Timestamps ⏱️\n00:00 - Introduction\n01:29 - Why Hobbies Are More Important Than Ever \n02:00 - The Neuroscience Behind How Hobbies Heal Your ‘Brain Rot’ \n05:55 - How to Choose Nourishing & Joyful Hobbies\n08:17 - Category 1: Creative Hobbies\n12:33 - Category 2: Intellectual Hobbies\n13:55 - Category 3: Wellbeing Hobbies \n15:28 - Category 4: Connection Hobbies \n16:12 - Your Next Steps (to turn inspiration into action)\n\n👨\u200D👩\u200D👧\u200D👦 Sub count: 801,951\nP.S. some of the links in this description are affiliate links that help support the channel at no extra cost to you. Thank you for the support! :)", "Hobbies: Your Best Defense Against Brain Rot", "a3b997d4-ec52-4c58-86e4-1be22ad7a25f", 1016, false, "7b9THb3cQbg", "https://www.youtube.com/watch?v=7b9THb3cQbg", 22, "/downloads/Watch Next/Hobbies: Your Best Defense Against Brain Rot/Hobbies: Your Best Defense Against Brain Rot [7b9THb3cQbg].mp4", false, false, false, 8, [], 0, ~U[2026-02-05 10:37:12Z], ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], "🗣️ Check out Wispr Flow and use my code IZZY for an extra 30 days free ➡️ https://wisprflow.ai/izzy\n👩🏻\u200D🍳 Get your free Hobby Menu here 👉 https://link.izzysealey.com/hobby-menu\n🧘🏻\u200D♀️ Download my free Meditation Starter Pack today 👉 https://link.izzysealey.com/yt/lm/meditation-starter-pack\n\nMy Newsletter\n💌 Letters to My Younger Self → the weekly journalling prompts + personal development notes I wish my younger self could read: https://link.izzysealey.com/yt/letters\n\nApps I’m building as part of Sparkle Studios\n🚀 Momentum: Energising Habits (iOS) - Download Now → https://go.sparkle.so/momentum/youtube/description_izzy\n👻 VoicePal: AI Writing App (iOS/Android) - Download for Free → https://go.sparkle.so/voicepal/yt/izzy\n\nMy Courses\n🧠 Learn Chinese faster & smarter with The Bamboo Mandarin Method → https://link.izzysealey.com/yt/bm\n🐉 Want to learn Chinese? Get my FREE email guide → https://link.izzysealey.com/yt/bmcc\n\nRecommended Courses\n🤑 Grow / Monetise your YouTube Channel → https://link.izzysealey.com/yt/ptya\n\n🔗 Connect with me\n📸 Instagram (daily updates 👀): https://www.instagram.com/izzysealey/\n🌍 My website: https://www.izzysealey.com/\n\n~\n\n🎶 Where I get my video music + sounds (get a 30-day free trial): https://link.izzysealey.com/yt/epidemic\n🗣️ Get fluent with italki language tutoring (get $10 free credits with this link): https://link.izzysealey.com/yt/italki\n⚙️ My Gear for making videos: https://link.izzysealey.com/yt/gear\n\nWho am I? 🙋🏻\u200D♀️ \nHey there, my name’s Izzy 🙋🏻\u200D♀️ I’m a Cambridge uni grad, medical doctor, and YouTuber. I love to learn Chinese, journal, and do yoga. My mission is to help you fulfil your innate potential and create a life you love through personal growth in mind, body and spirit. ⚡️\n\n» Timestamps ⏱️\n00:00 - Introduction\n01:29 - Why Hobbies Are More Important Than Ever \n02:00 - The Neuroscience Behind How Hobbies Heal Your ‘Brain Rot’ \n05:55 - How to Choose Nourishing & Joyful Hobbies\n08:17 - Category 1: Creative Hobbies\n12:33 - Category 2: Intellectual Hobbies\n13:55 - Category 3: Wellbeing Hobbies \n15:28 - Category 4: Connection Hobbies \n16:12 - Your Next Steps (to turn inspiration into action)\n\n👨\u200D👩\u200D👧\u200D👦 Sub count: 801,951\nP.S. some of the links in this description are affiliate links that help support the channel at no extra cost to you. Thank you for the support! :)", "Hobbies: Your Best Defense Against Brain Rot", 1016, false, "7b9THb3cQbg", "https://www.youtube.com/watch?v=7b9THb3cQbg", "/downloads/Watch Next/Hobbies: Your Best Defense Against Brain Rot/Hobbies: Your Best Defense Against Brain Rot [7b9THb3cQbg].mp4", false, 8, ~U[2026-02-05 10:37:12Z]] 18:21:20.902 [debug] QUERY OK source="sources" db=0.2ms idle=8.7ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z], 8] 18:21:20.903 [debug] QUERY OK source="media_items" db=0.4ms idle=7.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [8] 18:21:20.904 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [408, 25812, ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z]] 18:21:20.905 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [8] 18:21:20.905 [debug] QUERY OK source="media_items" db=0.1ms idle=2.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [8] 18:21:20.905 [info] No notification servers provided for source 8 18:21:20.906 [debug] QUERY OK source="tasks" db=0.1ms idle=1.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [409, 8, ~U[2026-02-16 18:21:20Z], ~U[2026-02-16 18:21:20Z]] 18:21:20.907 [info] {"args":{"id":8},"id":397,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":65644026,"event":"job:stop","queue_time":439824,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 18:21:20.910 [info] {"args":{"id":25812},"id":408,"meta":{},"system_time":1771266080910687742,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:21:20.911 [debug] QUERY OK source="media_items" db=0.1ms idle=4.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [25812] 18:21:20.911 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:21:20.911 [debug] QUERY OK source="sources" db=0.1ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 18:21:20.911 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:21:20.912 [debug] QUERY OK source="media_items" db=0.2ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [25812] 18:21:20.913 [debug] QUERY OK source="media_metadata" db=0.3ms idle=2.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" = ?) [25812] 18:21:20.914 [debug] QUERY OK source="media_profiles" db=0.4ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:21:20.914 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:21:20.914 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:21:20.915 [debug] Running yt-dlp command for action: get_downloadable_status 18:21:20.915 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:21:20.915 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:21:20.916 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:21:20.916 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7b9THb3cQbg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/4f/434f7213372c8ec87d5aee9bda4e00334831b615db6cbabdef3f927f351ebb9a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:21:25.931 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7b9THb3cQbg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/4f/434f7213372c8ec87d5aee9bda4e00334831b615db6cbabdef3f927f351ebb9a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:21:25.931 [debug] Running yt-dlp command for action: download 18:21:25.932 [debug] QUERY OK source="settings" db=0.5ms idle=553.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:21:25.932 [debug] QUERY OK source="settings" db=0.2ms idle=12.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:21:25.932 [debug] QUERY OK source="settings" db=0.2ms idle=12.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:21:25.933 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7b9THb3cQbg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Watch Next/%(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor --output /downloads/Watch Next/%(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3c/15/3c1551a2a32864830f6e931cd389d4cea91fe96b1abcbb154a6394be7d2aec3b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:21:34.579 [info] {"source":"oban","duration":1500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:49.984 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7b9THb3cQbg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Watch Next/%(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor --output /downloads/Watch Next/%(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3c/15/3c1551a2a32864830f6e931cd389d4cea91fe96b1abcbb154a6394be7d2aec3b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:21:50.022 [debug] Running yt-dlp command for action: download_thumbnail 18:21:50.024 [debug] QUERY OK source="settings" db=0.1ms idle=607.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:21:50.024 [debug] QUERY OK source="settings" db=0.0ms idle=104.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:21:50.024 [debug] QUERY OK source="settings" db=0.1ms idle=104.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:21:50.024 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7b9THb3cQbg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/25812/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/48/89/4889b42c43cb9e316092d3ee028b5dec6fc82d59ff8450f3c50d6d0365ffd8b1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:21:55.667 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7b9THb3cQbg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/25812/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/48/89/4889b42c43cb9e316092d3ee028b5dec6fc82d59ff8450f3c50d6d0365ffd8b1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:21:55.668 [debug] QUERY OK db=0.5ms idle=1747.6ms begin [] 18:21:55.669 [debug] QUERY OK source="media_items" db=0.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-02-16 18:21:49Z], "/downloads/Watch Next/Hobbies: Your Best Defense Against Brain Rot/Hobbies: Your Best Defense Against Brain Rot [7b9THb3cQbg].mp4", "/downloads/Watch Next/Hobbies: Your Best Defense Against Brain Rot/Hobbies: Your Best Defense Against Brain Rot [7b9THb3cQbg].info.json", "/downloads/Watch Next/Hobbies: Your Best Defense Against Brain Rot/Hobbies: Your Best Defense Against Brain Rot [7b9THb3cQbg]-thumb.jpg", ~U[2026-02-16 18:21:55Z], 25812] 18:21:55.672 [debug] QUERY OK source="media_metadata" db=2.5ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/25812/metadata.json.gz", "/config/metadata/media_items/25812/thumbnail.jpg", 25812, ~U[2026-02-16 18:21:55Z], ~U[2026-02-16 18:21:55Z]] 18:21:55.672 [debug] QUERY OK db=0.3ms commit [] 18:21:55.674 [debug] QUERY OK source="media_items" db=1.5ms idle=1752.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [173570497, ~U[2026-02-16 18:21:55Z], 25812] 18:21:55.674 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:21:55.674 [info] {"args":{"id":25812},"id":408,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":34763743,"event":"job:stop","queue_time":910033,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:22:00.666 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:22:04.581 [info] {"source":"oban","duration":1356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:34.583 [info] {"source":"oban","duration":1313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:00.667 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:23:04.584 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:34.587 [info] {"source":"oban","duration":2478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:00.668 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:24:04.590 [info] {"source":"oban","duration":1288,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:34.592 [info] {"source":"oban","duration":1714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:00.670 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:25:04.595 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:34.598 [info] {"source":"oban","duration":1294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:00.671 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:26:04.600 [info] {"source":"oban","duration":1420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:34.602 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:00.672 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:27:04.604 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:33.134 [info] {"args":{"id":7},"id":398,"meta":{},"system_time":1771266453134167284,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 18:27:33.135 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1213.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:33.136 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1215.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:27:33.144 [debug] QUERY OK source="media_items" db=6.7ms queue=0.1ms idle=1013.7ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 18:27:33.145 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=17.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 18:27:33.146 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=11.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:27:33.148 [debug] QUERY OK source="settings" db=0.4ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:27:33.148 [debug] QUERY OK source="settings" db=0.3ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:27:33.154 [debug] QUERY OK source="media_items" db=3.5ms idle=6.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [7] 18:27:33.158 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 18:27:33.158 [debug] Current batch of media processed. Will check again in 1000ms 18:27:33.159 [debug] QUERY OK source="settings" db=0.4ms idle=12.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:27:33.159 [debug] QUERY OK source="settings" db=0.3ms idle=12.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:27:33.160 [debug] QUERY OK source="settings" db=0.4ms idle=11.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:27:33.160 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@ChessSimp --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Chess Simp/%(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/db/bc/dbbcfc6609748602efb3875e5ceb0f89b59c13a64742b398d9d02edb8cb21080.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/e2/ab/e2abf4669a063dc945a6cd261cc9deaa15b5ef836afbcdeed36de54c67f9a151.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:27:34.159 [debug] Current batch of media processed. Will check again in 1000ms 18:27:34.605 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:35.160 [debug] Current batch of media processed. Will check again in 1000ms 18:27:36.161 [debug] Current batch of media processed. Will check again in 1000ms 18:27:37.162 [debug] Current batch of media processed. Will check again in 1000ms 18:27:38.163 [debug] Current batch of media processed. Will check again in 1000ms 18:27:39.164 [debug] Current batch of media processed. Will check again in 1000ms 18:27:40.165 [debug] Current batch of media processed. Will check again in 1000ms 18:27:41.166 [debug] Current batch of media processed. Will check again in 1000ms 18:27:42.167 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "duration" => 344, "filename" => "/downloads/Chess Simp/If Chess Were Politics/If Chess Were Politics [Mzw_Vl5rYcw].mp4", "id" => "Mzw_Vl5rYcw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Mzw_Vl5rYcw", "playlist_index" => 1, "timestamp" => 1771243242, "title" => "If Chess Were Politics", "upload_date" => "20260216"} 18:27:42.168 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1247.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:27:42.169 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1248.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:42.176 [debug] QUERY OK source="media_items" db=6.1ms idle=1026.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-16 12:00:42Z], 7] 18:27:42.181 [debug] QUERY OK source="media_items" db=2.2ms idle=258.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Chess Were Politics", "7f72dd63-70fe-4380-857c-c56242591000", 344, false, "Mzw_Vl5rYcw", "https://www.youtube.com/watch?v=Mzw_Vl5rYcw", 1, "/downloads/Chess Simp/If Chess Were Politics/If Chess Were Politics [Mzw_Vl5rYcw].mp4", false, false, false, 7, [], 99, ~U[2026-02-16 12:00:42Z], ~U[2026-02-16 18:27:42Z], ~U[2026-02-16 18:27:42Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Chess Were Politics", 344, false, "Mzw_Vl5rYcw", "https://www.youtube.com/watch?v=Mzw_Vl5rYcw", "/downloads/Chess Simp/If Chess Were Politics/If Chess Were Politics [Mzw_Vl5rYcw].mp4", false, 7, ~U[2026-02-16 12:00:42Z]] 18:27:42.182 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=36.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:42.184 [debug] QUERY OK source="media_profiles" db=1.1ms idle=14.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:27:42.186 [debug] QUERY OK source="media_items" db=0.9ms queue=0.3ms idle=15.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [25813] 18:27:42.187 [info] Kicking off download for media item #25813 (Mzw_Vl5rYcw) 18:27:42.193 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=9.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [410, 25813, ~U[2026-02-16 18:27:42Z], ~U[2026-02-16 18:27:42Z]] 18:27:42.193 [debug] Current batch of media processed. Will check again in 1000ms 18:27:42.200 [info] {"args":{"id":25813},"id":410,"meta":{},"system_time":1771266462200000365,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:27:42.201 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=13.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [25813] 18:27:42.202 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:27:42.203 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:42.205 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=12.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:27:42.207 [debug] QUERY OK source="media_items" db=1.7ms idle=12.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [25813] 18:27:42.209 [debug] QUERY OK source="media_metadata" db=0.3ms idle=8.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [25813] 18:27:42.210 [debug] QUERY OK source="media_profiles" db=0.8ms idle=7.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:27:42.211 [debug] QUERY OK source="settings" db=0.2ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:27:42.211 [debug] QUERY OK source="settings" db=0.1ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:27:42.212 [debug] Running yt-dlp command for action: get_downloadable_status 18:27:42.213 [debug] QUERY OK source="settings" db=0.1ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:27:42.213 [debug] QUERY OK source="settings" db=0.1ms 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 [] 18:27:42.213 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:27:42.214 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mzw_Vl5rYcw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6c/ba/6cbabd41e455906da866d3a86e1b2672266704659fc1b21915d84dcfbb40046e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:27:43.194 [debug] Current batch of media processed. Will check again in 1000ms 18:27:44.195 [debug] Current batch of media processed. Will check again in 1000ms 18:27:45.196 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Check out Chessreps, I promise it is actually good:\nhttps://www.chessreps.com/chesssimp\n\nSubscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "duration" => 289, "filename" => "/downloads/Chess Simp/If Chess Players Were Pacifists/If Chess Players Were Pacifists [yKDXQFSBk_E].mp4", "id" => "yKDXQFSBk_E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yKDXQFSBk_E", "playlist_index" => 2, "timestamp" => 1771070502, "title" => "If Chess Players Were Pacifists", "upload_date" => "20260214"} 18:27:45.196 [debug] QUERY OK source="sources" db=0.2ms idle=1276.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:27:45.197 [debug] QUERY OK source="sources" db=0.1ms idle=1276.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:45.199 [debug] QUERY OK source="media_items" db=1.8ms idle=1277.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-14 12:01:42Z], 7] 18:27:45.200 [debug] QUERY OK source="media_items" db=0.7ms idle=1051.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Check out Chessreps, I promise it is actually good:\nhttps://www.chessreps.com/chesssimp\n\nSubscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Chess Players Were Pacifists", "eabb8d1b-61da-44c3-8e77-499219a8f7b1", 289, false, "yKDXQFSBk_E", "https://www.youtube.com/watch?v=yKDXQFSBk_E", 2, "/downloads/Chess Simp/If Chess Players Were Pacifists/If Chess Players Were Pacifists [yKDXQFSBk_E].mp4", false, false, false, 7, [], 98, ~U[2026-02-14 12:01:42Z], ~U[2026-02-16 18:27:45Z], ~U[2026-02-16 18:27:45Z], "Check out Chessreps, I promise it is actually good:\nhttps://www.chessreps.com/chesssimp\n\nSubscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Chess Players Were Pacifists", 289, false, "yKDXQFSBk_E", "https://www.youtube.com/watch?v=yKDXQFSBk_E", "/downloads/Chess Simp/If Chess Players Were Pacifists/If Chess Players Were Pacifists [yKDXQFSBk_E].mp4", false, 7, ~U[2026-02-14 12:01:42Z]] 18:27:45.200 [debug] QUERY OK source="sources" db=0.2ms idle=51.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:45.201 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:27:45.201 [debug] QUERY OK source="media_items" db=0.3ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [25320] 18:27:45.202 [debug] Current batch of media processed. Will check again in 1000ms 18:27:45.879 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mzw_Vl5rYcw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6c/ba/6cbabd41e455906da866d3a86e1b2672266704659fc1b21915d84dcfbb40046e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:27:45.880 [debug] Running yt-dlp command for action: download 18:27:45.882 [debug] QUERY OK source="settings" db=2.3ms idle=681.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:27:45.883 [debug] QUERY OK source="settings" db=0.3ms idle=682.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:27:45.883 [debug] QUERY OK source="settings" db=0.6ms idle=682.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:27:45.884 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mzw_Vl5rYcw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Chess Simp/%(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor --output /downloads/Chess Simp/%(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5d/bd/5dbd732c57ca3ec4c99cb35eed5028accf439e7b81d45b4c845bf30fe57ffff2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:27:46.204 [debug] Current batch of media processed. Will check again in 1000ms 18:27:47.205 [debug] Current batch of media processed. Will check again in 1000ms 18:27:48.206 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "duration" => 288, "filename" => "/downloads/Chess Simp/If Chess Was Binary/If Chess Was Binary [6HfcklKB5BU].mp4", "id" => "6HfcklKB5BU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6HfcklKB5BU", "playlist_index" => 3, "timestamp" => 1770897614, "title" => "If Chess Was Binary", "upload_date" => "20260212"} 18:27:48.207 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1286.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:27:48.209 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1288.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:48.215 [debug] QUERY OK source="media_items" db=6.1ms queue=0.1ms idle=1289.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 12:00:14Z], 7] 18:27:48.219 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=1064.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Chess Was Binary", "a7370c1c-6364-41cb-8792-3f75279fcb37", 288, false, "6HfcklKB5BU", "https://www.youtube.com/watch?v=6HfcklKB5BU", 3, "/downloads/Chess Simp/If Chess Was Binary/If Chess Was Binary [6HfcklKB5BU].mp4", false, false, false, 7, [], 98, ~U[2026-02-12 12:00:14Z], ~U[2026-02-16 18:27:48Z], ~U[2026-02-16 18:27:48Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Chess Was Binary", 288, false, "6HfcklKB5BU", "https://www.youtube.com/watch?v=6HfcklKB5BU", "/downloads/Chess Simp/If Chess Was Binary/If Chess Was Binary [6HfcklKB5BU].mp4", false, 7, ~U[2026-02-12 12:00:14Z]] 18:27:48.220 [debug] QUERY OK source="sources" db=0.8ms idle=64.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:48.221 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=13.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:27:48.223 [debug] QUERY OK source="media_items" db=0.9ms idle=13.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24830] 18:27:48.223 [debug] Current batch of media processed. Will check again in 1000ms 18:27:49.224 [debug] Current batch of media processed. Will check again in 1000ms 18:27:50.225 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "duration" => 331, "filename" => "/downloads/Chess Simp/The Most Mysterious Chess Player Ever/The Most Mysterious Chess Player Ever [xltR4W1CCY8].mp4", "id" => "xltR4W1CCY8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xltR4W1CCY8", "playlist_index" => 4, "timestamp" => 1770811308, "title" => "The Most Mysterious Chess Player Ever", "upload_date" => "20260211"} 18:27:50.227 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=305.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:27:50.228 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=307.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:50.235 [debug] QUERY OK source="media_items" db=5.8ms idle=308.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-11 12:01:48Z], 7] 18:27:50.238 [debug] QUERY OK source="media_items" db=2.2ms idle=315.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "The Most Mysterious Chess Player Ever", "4176e41d-73ff-4e6b-9b31-46b602679e60", 331, false, "xltR4W1CCY8", "https://www.youtube.com/watch?v=xltR4W1CCY8", 4, "/downloads/Chess Simp/The Most Mysterious Chess Player Ever/The Most Mysterious Chess Player Ever [xltR4W1CCY8].mp4", false, false, false, 7, [], 98, ~U[2026-02-11 12:01:48Z], ~U[2026-02-16 18:27:50Z], ~U[2026-02-16 18:27:50Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "The Most Mysterious Chess Player Ever", 331, false, "xltR4W1CCY8", "https://www.youtube.com/watch?v=xltR4W1CCY8", "/downloads/Chess Simp/The Most Mysterious Chess Player Ever/The Most Mysterious Chess Player Ever [xltR4W1CCY8].mp4", false, 7, ~U[2026-02-11 12:01:48Z]] 18:27:50.239 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=76.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:50.241 [debug] QUERY OK source="media_profiles" db=1.0ms idle=12.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:27:50.243 [debug] QUERY OK source="media_items" db=1.3ms idle=13.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 [24585] 18:27:50.243 [debug] Current batch of media processed. Will check again in 1000ms 18:27:51.244 [debug] Current batch of media processed. Will check again in 1000ms 18:27:52.245 [debug] Current batch of media processed. Will check again in 1000ms 18:27:53.246 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Check out Chessreps, I promise it is actually good:\nhttps://www.chessreps.com/chesssimp\n\nSubscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "duration" => 300, "filename" => "/downloads/Chess Simp/Piece Value Is NOT REAL/Piece Value Is NOT REAL [a3hRTGoOoDg].mp4", "id" => "a3hRTGoOoDg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=a3hRTGoOoDg", "playlist_index" => 5, "timestamp" => 1770724801, "title" => "Piece Value Is NOT REAL", "upload_date" => "20260210"} 18:27:53.248 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1327.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:27:53.249 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1328.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:53.256 [debug] QUERY OK source="media_items" db=6.3ms queue=0.1ms idle=1330.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-10 12:00:01Z], 7] 18:27:53.334 [debug] QUERY OK source="media_items" db=76.9ms idle=1090.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Check out Chessreps, I promise it is actually good:\nhttps://www.chessreps.com/chesssimp\n\nSubscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Piece Value Is NOT REAL", "f3628ddd-3294-42ba-9771-6b21803f7663", 300, false, "a3hRTGoOoDg", "https://www.youtube.com/watch?v=a3hRTGoOoDg", 5, "/downloads/Chess Simp/Piece Value Is NOT REAL/Piece Value Is NOT REAL [a3hRTGoOoDg].mp4", false, false, false, 7, [], 98, ~U[2026-02-10 12:00:01Z], ~U[2026-02-16 18:27:53Z], ~U[2026-02-16 18:27:53Z], "Check out Chessreps, I promise it is actually good:\nhttps://www.chessreps.com/chesssimp\n\nSubscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Piece Value Is NOT REAL", 300, false, "a3hRTGoOoDg", "https://www.youtube.com/watch?v=a3hRTGoOoDg", "/downloads/Chess Simp/Piece Value Is NOT REAL/Piece Value Is NOT REAL [a3hRTGoOoDg].mp4", false, 7, ~U[2026-02-10 12:00:01Z]] 18:27:53.335 [debug] QUERY OK source="sources" db=0.2ms idle=165.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:53.335 [debug] QUERY OK source="media_profiles" db=0.2ms idle=87.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:27:53.335 [debug] QUERY OK source="media_items" db=0.2ms idle=86.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24342] 18:27:53.336 [debug] Current batch of media processed. Will check again in 1000ms 18:27:54.337 [debug] Current batch of media processed. Will check again in 1000ms 18:27:55.338 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "duration" => 368, "filename" => "/downloads/Chess Simp/When A Right Handed Plays Chess/When A Right Handed Plays Chess [vyR5Xjnjm_U].mp4", "id" => "vyR5Xjnjm_U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vyR5Xjnjm_U", "playlist_index" => 6, "timestamp" => 1770638502, "title" => "When A Right Handed Plays Chess", "upload_date" => "20260209"} 18:27:55.339 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=418.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:27:55.340 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=419.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:55.344 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=420.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-09 12:01:42Z], 7] 18:27:55.358 [debug] QUERY OK source="media_items" db=13.4ms idle=424.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "When A Right Handed Plays Chess", "0031275c-bc41-4ec1-a0c1-84a1ad503212", 368, false, "vyR5Xjnjm_U", "https://www.youtube.com/watch?v=vyR5Xjnjm_U", 6, "/downloads/Chess Simp/When A Right Handed Plays Chess/When A Right Handed Plays Chess [vyR5Xjnjm_U].mp4", false, false, false, 7, [], 98, ~U[2026-02-09 12:01:42Z], ~U[2026-02-16 18:27:55Z], ~U[2026-02-16 18:27:55Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "When A Right Handed Plays Chess", 368, false, "vyR5Xjnjm_U", "https://www.youtube.com/watch?v=vyR5Xjnjm_U", "/downloads/Chess Simp/When A Right Handed Plays Chess/When A Right Handed Plays Chess [vyR5Xjnjm_U].mp4", false, 7, ~U[2026-02-09 12:01:42Z]] 18:27:55.359 [debug] QUERY OK source="sources" db=0.3ms idle=187.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:55.360 [debug] QUERY OK source="media_profiles" db=0.5ms idle=20.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:27:55.360 [debug] QUERY OK source="media_items" db=0.4ms idle=20.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24101] 18:27:55.360 [debug] Current batch of media processed. Will check again in 1000ms 18:27:56.362 [debug] Current batch of media processed. Will check again in 1000ms 18:27:57.363 [debug] Current batch of media processed. Will check again in 1000ms 18:27:58.364 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "duration" => 221, "filename" => "/downloads/Chess Simp/Why Everyone Should Learn Openings/Why Everyone Should Learn Openings [RBF0kXwy1GI].mp4", "id" => "RBF0kXwy1GI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RBF0kXwy1GI", "playlist_index" => 7, "timestamp" => 1770465651, "title" => "Why Everyone Should Learn Openings", "upload_date" => "20260207"} 18:27:58.366 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1445.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:27:58.367 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1446.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:58.374 [debug] QUERY OK source="media_items" db=6.3ms queue=0.1ms idle=1447.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-07 12:00:51Z], 7] 18:27:58.378 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=1198.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why Everyone Should Learn Openings", "66cb1d5a-6c1a-4f73-aa8d-58d1b0f79558", 221, false, "RBF0kXwy1GI", "https://www.youtube.com/watch?v=RBF0kXwy1GI", 7, "/downloads/Chess Simp/Why Everyone Should Learn Openings/Why Everyone Should Learn Openings [RBF0kXwy1GI].mp4", false, false, false, 7, [], 98, ~U[2026-02-07 12:00:51Z], ~U[2026-02-16 18:27:58Z], ~U[2026-02-16 18:27:58Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why Everyone Should Learn Openings", 221, false, "RBF0kXwy1GI", "https://www.youtube.com/watch?v=RBF0kXwy1GI", "/downloads/Chess Simp/Why Everyone Should Learn Openings/Why Everyone Should Learn Openings [RBF0kXwy1GI].mp4", false, 7, ~U[2026-02-07 12:00:51Z]] 18:27:58.379 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=200.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:27:58.381 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=13.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:27:58.383 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=14.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20628] 18:27:58.383 [debug] Current batch of media processed. Will check again in 1000ms 18:27:59.385 [debug] Current batch of media processed. Will check again in 1000ms 18:28:00.386 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "duration" => 290, "filename" => "/downloads/Chess Simp/Why Retreat Is Always Good/Why Retreat Is Always Good [pJmriZcFF9w].mp4", "id" => "pJmriZcFF9w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pJmriZcFF9w", "playlist_index" => 8, "timestamp" => 1770292888, "title" => "Why Retreat Is Always Good", "upload_date" => "20260205"} 18:28:00.386 [debug] QUERY OK source="sources" db=0.2ms idle=466.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:28:00.387 [debug] QUERY OK source="sources" db=0.1ms queue=0.2ms idle=466.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:00.389 [debug] QUERY OK source="media_items" db=2.3ms idle=467.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 12:01:28Z], 7] 18:28:00.390 [debug] QUERY OK source="media_items" db=0.7ms idle=470.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why Retreat Is Always Good", "41358575-de32-462c-8b29-2566b556e43c", 290, false, "pJmriZcFF9w", "https://www.youtube.com/watch?v=pJmriZcFF9w", 8, "/downloads/Chess Simp/Why Retreat Is Always Good/Why Retreat Is Always Good [pJmriZcFF9w].mp4", false, false, false, 7, [], 98, ~U[2026-02-05 12:01:28Z], ~U[2026-02-16 18:28:00Z], ~U[2026-02-16 18:28:00Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why Retreat Is Always Good", 290, false, "pJmriZcFF9w", "https://www.youtube.com/watch?v=pJmriZcFF9w", "/downloads/Chess Simp/Why Retreat Is Always Good/Why Retreat Is Always Good [pJmriZcFF9w].mp4", false, 7, ~U[2026-02-05 12:01:28Z]] 18:28:00.391 [debug] QUERY OK source="sources" db=0.3ms idle=210.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:00.392 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:28:00.392 [debug] QUERY OK source="media_items" db=0.5ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20161] 18:28:00.393 [debug] Current batch of media processed. Will check again in 1000ms 18:28:00.674 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:28:01.394 [debug] Current batch of media processed. Will check again in 1000ms 18:28:01.472 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mzw_Vl5rYcw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Chess Simp/%(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor --output /downloads/Chess Simp/%(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5d/bd/5dbd732c57ca3ec4c99cb35eed5028accf439e7b81d45b4c845bf30fe57ffff2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:28:01.496 [debug] Running yt-dlp command for action: download_thumbnail 18:28:01.498 [debug] QUERY OK source="settings" db=0.1ms idle=1106.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:28:01.498 [debug] QUERY OK source="settings" db=0.0ms idle=1106.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:28:01.498 [debug] QUERY OK source="settings" db=0.1ms idle=1105.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:28:01.499 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mzw_Vl5rYcw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/25813/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/17/3b/173b17788d066255b17f522f8dd51a6f896fb2a3e8f7f91b1f45a6b32326d4b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:28:02.395 [debug] Current batch of media processed. Will check again in 1000ms 18:28:03.396 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "duration" => 481, "filename" => "/downloads/Chess Simp/How To Capture Every 3 Moves/How To Capture Every 3 Moves [sHgYu_W1xAI].mp4", "id" => "sHgYu_W1xAI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sHgYu_W1xAI", "playlist_index" => 9, "timestamp" => 1770206499, "title" => "How To Capture Every 3 Moves", "upload_date" => "20260204"} 18:28:03.398 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=1212.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:28:03.399 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=475.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:03.406 [debug] QUERY OK source="media_items" db=6.4ms idle=476.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-04 12:01:39Z], 7] 18:28:03.409 [debug] QUERY OK source="media_items" db=1.8ms idle=483.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "How To Capture Every 3 Moves", "62dcebce-3760-4a84-91b0-49ec3f9ab81d", 481, false, "sHgYu_W1xAI", "https://www.youtube.com/watch?v=sHgYu_W1xAI", 9, "/downloads/Chess Simp/How To Capture Every 3 Moves/How To Capture Every 3 Moves [sHgYu_W1xAI].mp4", false, false, false, 7, [], 98, ~U[2026-02-04 12:01:39Z], ~U[2026-02-16 18:28:03Z], ~U[2026-02-16 18:28:03Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "How To Capture Every 3 Moves", 481, false, "sHgYu_W1xAI", "https://www.youtube.com/watch?v=sHgYu_W1xAI", "/downloads/Chess Simp/How To Capture Every 3 Moves/How To Capture Every 3 Moves [sHgYu_W1xAI].mp4", false, 7, ~U[2026-02-04 12:01:39Z]] 18:28:03.411 [debug] QUERY OK source="sources" db=1.5ms idle=221.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:03.412 [debug] QUERY OK source="media_profiles" db=0.6ms idle=13.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:28:03.414 [debug] QUERY OK source="media_items" db=0.6ms idle=13.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19940] 18:28:03.414 [debug] Current batch of media processed. Will check again in 1000ms 18:28:04.415 [debug] Current batch of media processed. Will check again in 1000ms 18:28:04.607 [info] {"source":"oban","duration":1031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:05.416 [debug] Current batch of media processed. Will check again in 1000ms 18:28:05.663 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mzw_Vl5rYcw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/25813/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/17/3b/173b17788d066255b17f522f8dd51a6f896fb2a3e8f7f91b1f45a6b32326d4b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:28:05.664 [debug] QUERY OK db=0.2ms queue=0.2ms idle=1056.6ms begin [] 18:28:05.665 [debug] QUERY OK source="media_items" db=1.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-02-16 18:28:01Z], "/downloads/Chess Simp/If Chess Were Politics/If Chess Were Politics [Mzw_Vl5rYcw].mp4", "/downloads/Chess Simp/If Chess Were Politics/If Chess Were Politics [Mzw_Vl5rYcw].info.json", "/downloads/Chess Simp/If Chess Were Politics/If Chess Were Politics [Mzw_Vl5rYcw]-thumb.jpg", ~U[2026-02-16 18:28:05Z], 25813] 18:28:05.666 [debug] QUERY OK source="media_metadata" db=0.6ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/25813/metadata.json.gz", "/config/metadata/media_items/25813/thumbnail.jpg", 25813, ~U[2026-02-16 18:28:05Z], ~U[2026-02-16 18:28:05Z]] 18:28:05.666 [debug] QUERY OK db=0.1ms commit [] 18:28:05.667 [debug] QUERY OK source="media_items" db=0.6ms idle=741.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [20884889, ~U[2026-02-16 18:28:05Z], 25813] 18:28:05.667 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:28:05.668 [info] {"args":{"id":25813},"id":410,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":23467689,"event":"job:stop","queue_time":198118,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:28:06.417 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "duration" => 260, "filename" => "/downloads/Chess Simp/If A Special Agent Plays Chess/If A Special Agent Plays Chess [IMX4BbRFpJo].mp4", "id" => "IMX4BbRFpJo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IMX4BbRFpJo", "playlist_index" => 10, "timestamp" => 1770120030, "title" => "If A Special Agent Plays Chess", "upload_date" => "20260203"} 18:28:06.417 [debug] QUERY OK source="sources" db=0.4ms idle=751.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:28:06.418 [debug] QUERY OK source="sources" db=0.4ms idle=750.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:06.421 [debug] QUERY OK source="media_items" db=2.8ms queue=0.2ms idle=750.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-03 12:00:30Z], 7] 18:28:06.423 [debug] QUERY OK source="media_items" db=0.8ms idle=747.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If A Special Agent Plays Chess", "0ffbba0a-efe5-4745-8338-d8f83f57363a", 260, false, "IMX4BbRFpJo", "https://www.youtube.com/watch?v=IMX4BbRFpJo", 10, "/downloads/Chess Simp/If A Special Agent Plays Chess/If A Special Agent Plays Chess [IMX4BbRFpJo].mp4", false, false, false, 7, [], 98, ~U[2026-02-03 12:00:30Z], ~U[2026-02-16 18:28:06Z], ~U[2026-02-16 18:28:06Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If A Special Agent Plays Chess", 260, false, "IMX4BbRFpJo", "https://www.youtube.com/watch?v=IMX4BbRFpJo", "/downloads/Chess Simp/If A Special Agent Plays Chess/If A Special Agent Plays Chess [IMX4BbRFpJo].mp4", false, 7, ~U[2026-02-03 12:00:30Z]] 18:28:06.424 [debug] QUERY OK source="sources" db=0.8ms idle=229.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:06.425 [debug] QUERY OK source="media_profiles" db=0.7ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:28:06.425 [debug] QUERY OK source="media_items" db=0.4ms idle=6.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19723] 18:28:06.425 [debug] Current batch of media processed. Will check again in 1000ms 18:28:07.427 [debug] Current batch of media processed. Will check again in 1000ms 18:28:08.428 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "duration" => 348, "filename" => "/downloads/Chess Simp/Why Pawn Promotions Are Difficult/Why Pawn Promotions Are Difficult [88jgWFTrk70].mp4", "id" => "88jgWFTrk70", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=88jgWFTrk70", "playlist_index" => 11, "timestamp" => 1770033610, "title" => "Why Pawn Promotions Are Difficult", "upload_date" => "20260202"} 18:28:08.428 [debug] QUERY OK source="sources" db=0.1ms idle=503.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:28:08.428 [debug] QUERY OK source="sources" db=0.1ms idle=503.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:08.431 [debug] QUERY OK source="media_items" db=2.1ms idle=503.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-02 12:00:10Z], 7] 18:28:08.432 [debug] QUERY OK source="media_items" db=0.7ms idle=506.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why Pawn Promotions Are Difficult", "85a7b069-e18e-4f3c-9eb1-4139adf86116", 348, false, "88jgWFTrk70", "https://www.youtube.com/watch?v=88jgWFTrk70", 11, "/downloads/Chess Simp/Why Pawn Promotions Are Difficult/Why Pawn Promotions Are Difficult [88jgWFTrk70].mp4", false, false, false, 7, [], 98, ~U[2026-02-02 12:00:10Z], ~U[2026-02-16 18:28:08Z], ~U[2026-02-16 18:28:08Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why Pawn Promotions Are Difficult", 348, false, "88jgWFTrk70", "https://www.youtube.com/watch?v=88jgWFTrk70", "/downloads/Chess Simp/Why Pawn Promotions Are Difficult/Why Pawn Promotions Are Difficult [88jgWFTrk70].mp4", false, 7, ~U[2026-02-02 12:00:10Z]] 18:28:08.432 [debug] QUERY OK source="sources" db=0.2ms idle=234.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:08.434 [debug] QUERY OK source="media_profiles" db=0.9ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:28:08.435 [debug] QUERY OK source="media_items" db=0.7ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19502] 18:28:08.435 [debug] Current batch of media processed. Will check again in 1000ms 18:28:09.436 [debug] Current batch of media processed. Will check again in 1000ms 18:28:10.437 [debug] Current batch of media processed. Will check again in 1000ms 18:28:11.438 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "duration" => 279, "filename" => "/downloads/Chess Simp/Chess, But With Honour/Chess, But With Honour [9DWzWuOv3ts].mp4", "id" => "9DWzWuOv3ts", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9DWzWuOv3ts", "playlist_index" => 12, "timestamp" => 1769860815, "title" => "Chess, But With Honour", "upload_date" => "20260131"} 18:28:11.439 [debug] QUERY OK source="sources" db=0.1ms queue=0.6ms idle=1513.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:28:11.439 [debug] QUERY OK source="sources" db=0.1ms idle=1514.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:11.441 [debug] QUERY OK source="media_items" db=2.0ms idle=1514.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-31 12:00:15Z], 7] 18:28:11.443 [debug] QUERY OK source="media_items" db=0.7ms idle=1240.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Chess, But With Honour", "282365be-a444-4596-8c9c-536e4f722ec7", 279, false, "9DWzWuOv3ts", "https://www.youtube.com/watch?v=9DWzWuOv3ts", 12, "/downloads/Chess Simp/Chess, But With Honour/Chess, But With Honour [9DWzWuOv3ts].mp4", false, false, false, 7, [], 98, ~U[2026-01-31 12:00:15Z], ~U[2026-02-16 18:28:11Z], ~U[2026-02-16 18:28:11Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Chess, But With Honour", 279, false, "9DWzWuOv3ts", "https://www.youtube.com/watch?v=9DWzWuOv3ts", "/downloads/Chess Simp/Chess, But With Honour/Chess, But With Honour [9DWzWuOv3ts].mp4", false, 7, ~U[2026-01-31 12:00:15Z]] 18:28:11.443 [debug] QUERY OK source="sources" db=0.2ms idle=239.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:11.444 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:28:11.444 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19074] 18:28:11.444 [debug] Current batch of media processed. Will check again in 1000ms 18:28:12.445 [debug] Current batch of media processed. Will check again in 1000ms 18:28:13.446 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "duration" => 253, "filename" => "/downloads/Chess Simp/When Blunders Are Good Moves/When Blunders Are Good Moves [jBZgW-me8tc].mp4", "id" => "jBZgW-me8tc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jBZgW-me8tc", "playlist_index" => 13, "timestamp" => 1769688080, "title" => "When Blunders Are Good Moves", "upload_date" => "20260129"} 18:28:13.447 [debug] QUERY OK source="sources" db=0.4ms idle=521.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:28:13.448 [debug] QUERY OK source="sources" db=0.3ms idle=522.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:13.451 [debug] QUERY OK source="media_items" db=3.5ms idle=523.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 12:01:20Z], 7] 18:28:13.453 [debug] QUERY OK source="media_items" db=0.7ms idle=527.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "When Blunders Are Good Moves", "33c235c9-2aaf-41f1-94a1-8a40034f374b", 253, false, "jBZgW-me8tc", "https://www.youtube.com/watch?v=jBZgW-me8tc", 13, "/downloads/Chess Simp/When Blunders Are Good Moves/When Blunders Are Good Moves [jBZgW-me8tc].mp4", false, false, false, 7, [], 98, ~U[2026-01-29 12:01:20Z], ~U[2026-02-16 18:28:13Z], ~U[2026-02-16 18:28:13Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "When Blunders Are Good Moves", 253, false, "jBZgW-me8tc", "https://www.youtube.com/watch?v=jBZgW-me8tc", "/downloads/Chess Simp/When Blunders Are Good Moves/When Blunders Are Good Moves [jBZgW-me8tc].mp4", false, 7, ~U[2026-01-29 12:01:20Z]] 18:28:13.453 [debug] QUERY OK source="sources" db=0.2ms idle=245.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:13.453 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:28:13.454 [debug] QUERY OK source="media_items" db=0.3ms idle=6.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18641] 18:28:13.454 [debug] Current batch of media processed. Will check again in 1000ms 18:28:14.455 [debug] Current batch of media processed. Will check again in 1000ms 18:28:15.456 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "duration" => 402, "filename" => "/downloads/Chess Simp/When Checkmate Is Physically Forced/When Checkmate Is Physically Forced [KbtMk5FkoZ8].mp4", "id" => "KbtMk5FkoZ8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KbtMk5FkoZ8", "playlist_index" => 14, "timestamp" => 1769601639, "title" => "When Checkmate Is Physically Forced", "upload_date" => "20260128"} 18:28:15.456 [debug] QUERY OK source="sources" db=0.2ms idle=531.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:28:15.457 [debug] QUERY OK source="sources" db=0.3ms idle=531.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:15.460 [debug] QUERY OK source="media_items" db=2.4ms idle=532.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-28 12:00:39Z], 7] 18:28:15.461 [debug] QUERY OK source="media_items" db=0.7ms idle=535.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "When Checkmate Is Physically Forced", "a54c0757-5316-4d0c-b922-79e62f5065a6", 402, false, "KbtMk5FkoZ8", "https://www.youtube.com/watch?v=KbtMk5FkoZ8", 14, "/downloads/Chess Simp/When Checkmate Is Physically Forced/When Checkmate Is Physically Forced [KbtMk5FkoZ8].mp4", false, false, false, 7, [], 98, ~U[2026-01-28 12:00:39Z], ~U[2026-02-16 18:28:15Z], ~U[2026-02-16 18:28:15Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "When Checkmate Is Physically Forced", 402, false, "KbtMk5FkoZ8", "https://www.youtube.com/watch?v=KbtMk5FkoZ8", "/downloads/Chess Simp/When Checkmate Is Physically Forced/When Checkmate Is Physically Forced [KbtMk5FkoZ8].mp4", false, 7, ~U[2026-01-28 12:00:39Z]] 18:28:15.461 [debug] QUERY OK source="sources" db=0.3ms idle=251.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:15.462 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:28:15.463 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18425] 18:28:15.463 [debug] Current batch of media processed. Will check again in 1000ms 18:28:16.464 [debug] Current batch of media processed. Will check again in 1000ms 18:28:17.465 [debug] Current batch of media processed. Will check again in 1000ms 18:28:18.466 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #bongcloud", "duration" => 302, "filename" => "/downloads/Chess Simp/Why Checks Always Come First/Why Checks Always Come First [7d7IjTNAuGw].mp4", "id" => "7d7IjTNAuGw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7d7IjTNAuGw", "playlist_index" => 15, "timestamp" => 1769515220, "title" => "Why Checks Always Come First", "upload_date" => "20260127"} 18:28:18.466 [debug] QUERY OK source="sources" db=0.2ms idle=1541.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:28:18.467 [debug] QUERY OK source="sources" db=0.3ms idle=1541.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:18.469 [debug] QUERY OK source="media_items" db=2.0ms idle=1542.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-27 12:00:20Z], 7] 18:28:18.470 [debug] QUERY OK source="media_items" db=0.6ms idle=1256.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #bongcloud", "Why Checks Always Come First", "6f377a16-2218-4bd7-8bfc-aef04b096c43", 302, false, "7d7IjTNAuGw", "https://www.youtube.com/watch?v=7d7IjTNAuGw", 15, "/downloads/Chess Simp/Why Checks Always Come First/Why Checks Always Come First [7d7IjTNAuGw].mp4", false, false, false, 7, [], 98, ~U[2026-01-27 12:00:20Z], ~U[2026-02-16 18:28:18Z], ~U[2026-02-16 18:28:18Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #bongcloud", "Why Checks Always Come First", 302, false, "7d7IjTNAuGw", "https://www.youtube.com/watch?v=7d7IjTNAuGw", "/downloads/Chess Simp/Why Checks Always Come First/Why Checks Always Come First [7d7IjTNAuGw].mp4", false, 7, ~U[2026-01-27 12:00:20Z]] 18:28:18.471 [debug] QUERY OK source="sources" db=0.4ms idle=255.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:18.471 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:28:18.472 [debug] QUERY OK source="media_items" db=0.3ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18208] 18:28:18.472 [debug] Current batch of media processed. Will check again in 1000ms 18:28:19.473 [debug] Current batch of media processed. Will check again in 1000ms 18:28:20.474 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "duration" => 326, "filename" => "/downloads/Chess Simp/Keep The Horses Warm/Keep The Horses Warm [APFUTfKq36M].mp4", "id" => "APFUTfKq36M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=APFUTfKq36M", "playlist_index" => 16, "timestamp" => 1769428830, "title" => "Keep The Horses Warm", "upload_date" => "20260126"} 18:28:20.475 [debug] QUERY OK source="sources" db=0.2ms idle=549.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:28:20.475 [debug] QUERY OK source="sources" db=0.1ms idle=550.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:20.478 [debug] QUERY OK source="media_items" db=3.1ms idle=550.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-26 12:00:30Z], 7] 18:28:20.480 [debug] QUERY OK source="media_items" db=0.9ms idle=554.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Keep The Horses Warm", "709bdcd2-a890-495f-950d-e20eb90d2f97", 326, false, "APFUTfKq36M", "https://www.youtube.com/watch?v=APFUTfKq36M", 16, "/downloads/Chess Simp/Keep The Horses Warm/Keep The Horses Warm [APFUTfKq36M].mp4", false, false, false, 7, [], 98, ~U[2026-01-26 12:00:30Z], ~U[2026-02-16 18:28:20Z], ~U[2026-02-16 18:28:20Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Keep The Horses Warm", 326, false, "APFUTfKq36M", "https://www.youtube.com/watch?v=APFUTfKq36M", "/downloads/Chess Simp/Keep The Horses Warm/Keep The Horses Warm [APFUTfKq36M].mp4", false, 7, ~U[2026-01-26 12:00:30Z]] 18:28:20.481 [debug] QUERY OK source="sources" db=0.4ms idle=261.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:20.481 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:28:20.482 [debug] QUERY OK source="media_items" db=0.4ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [17991] 18:28:20.482 [debug] Current batch of media processed. Will check again in 1000ms 18:28:21.483 [debug] Current batch of media processed. Will check again in 1000ms 18:28:22.484 [debug] Current batch of media processed. Will check again in 1000ms 18:28:23.485 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "duration" => 252, "filename" => "/downloads/Chess Simp/Why The E Files Must Be Protected/Why The E Files Must Be Protected [pElr5mid3v4].mp4", "id" => "pElr5mid3v4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pElr5mid3v4", "playlist_index" => 17, "timestamp" => 1769256082, "title" => "Why The E Files Must Be Protected", "upload_date" => "20260124"} 18:28:23.486 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1560.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:28:23.487 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1562.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:23.494 [debug] QUERY OK source="media_items" db=6.5ms queue=0.1ms idle=1562.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-24 12:01:22Z], 7] 18:28:23.498 [debug] QUERY OK source="media_items" db=2.2ms idle=1271.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why The E Files Must Be Protected", "3882377d-6f22-47da-b3b7-8bcbfafb87fd", 252, false, "pElr5mid3v4", "https://www.youtube.com/watch?v=pElr5mid3v4", 17, "/downloads/Chess Simp/Why The E Files Must Be Protected/Why The E Files Must Be Protected [pElr5mid3v4].mp4", false, false, false, 7, [], 98, ~U[2026-01-24 12:01:22Z], ~U[2026-02-16 18:28:23Z], ~U[2026-02-16 18:28:23Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why The E Files Must Be Protected", 252, false, "pElr5mid3v4", "https://www.youtube.com/watch?v=pElr5mid3v4", "/downloads/Chess Simp/Why The E Files Must Be Protected/Why The E Files Must Be Protected [pElr5mid3v4].mp4", false, 7, ~U[2026-01-24 12:01:22Z]] 18:28:23.499 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=273.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:23.501 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=13.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:28:23.503 [debug] QUERY OK source="media_items" db=1.1ms idle=14.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [17557] 18:28:23.503 [debug] Current batch of media processed. Will check again in 1000ms 18:28:24.504 [debug] Current batch of media processed. Will check again in 1000ms 18:28:25.505 [debug] Current batch of media processed. Will check again in 1000ms 18:28:26.506 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "duration" => 301, "filename" => "/downloads/Chess Simp/Why The E File Is Very Important/Why The E File Is Very Important [OwpzWqyppLk].mp4", "id" => "OwpzWqyppLk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OwpzWqyppLk", "playlist_index" => 18, "timestamp" => 1769083254, "title" => "Why The E File Is Very Important", "upload_date" => "20260122"} 18:28:26.507 [debug] QUERY OK source="sources" db=0.4ms idle=1581.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:28:26.508 [debug] QUERY OK source="sources" db=0.2ms idle=1582.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:26.512 [debug] QUERY OK source="media_items" db=3.7ms idle=1583.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 12:00:54Z], 7] 18:28:26.513 [debug] QUERY OK source="media_items" db=0.7ms idle=1282.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why The E File Is Very Important", "3acd702d-2b2d-4346-99b9-3340de997f87", 301, false, "OwpzWqyppLk", "https://www.youtube.com/watch?v=OwpzWqyppLk", 18, "/downloads/Chess Simp/Why The E File Is Very Important/Why The E File Is Very Important [OwpzWqyppLk].mp4", false, false, false, 7, [], 98, ~U[2026-01-22 12:00:54Z], ~U[2026-02-16 18:28:26Z], ~U[2026-02-16 18:28:26Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why The E File Is Very Important", 301, false, "OwpzWqyppLk", "https://www.youtube.com/watch?v=OwpzWqyppLk", "/downloads/Chess Simp/Why The E File Is Very Important/Why The E File Is Very Important [OwpzWqyppLk].mp4", false, 7, ~U[2026-01-22 12:00:54Z]] 18:28:26.514 [debug] QUERY OK source="sources" db=0.2ms idle=281.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:26.514 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:28:26.514 [debug] QUERY OK source="media_items" db=0.3ms idle=6.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6032] 18:28:26.515 [debug] Current batch of media processed. Will check again in 1000ms 18:28:27.516 [debug] Current batch of media processed. Will check again in 1000ms 18:28:28.517 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nGame 3 of that same day:\nhttps://youtu.be/mswfrQf760E\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "duration" => 364, "filename" => "/downloads/Chess Simp/Why Some Humans Read Left To Right/Why Some Humans Read Left To Right [KF04k0J2cSs].mp4", "id" => "KF04k0J2cSs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KF04k0J2cSs", "playlist_index" => 19, "timestamp" => 1768996839, "title" => "Why Some Humans Read Left To Right", "upload_date" => "20260121"} 18:28:28.518 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=592.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:28:28.519 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=593.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:28.523 [debug] QUERY OK source="media_items" db=3.5ms idle=594.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-21 12:00:39Z], 7] 18:28:28.526 [debug] QUERY OK source="media_items" db=2.0ms idle=598.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nGame 3 of that same day:\nhttps://youtu.be/mswfrQf760E\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "Why Some Humans Read Left To Right", "03b01b45-9ab5-4a8f-a454-811ff99622d7", 364, false, "KF04k0J2cSs", "https://www.youtube.com/watch?v=KF04k0J2cSs", 19, "/downloads/Chess Simp/Why Some Humans Read Left To Right/Why Some Humans Read Left To Right [KF04k0J2cSs].mp4", false, false, false, 7, [], 98, ~U[2026-01-21 12:00:39Z], ~U[2026-02-16 18:28:28Z], ~U[2026-02-16 18:28:28Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nGame 3 of that same day:\nhttps://youtu.be/mswfrQf760E\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "Why Some Humans Read Left To Right", 364, false, "KF04k0J2cSs", "https://www.youtube.com/watch?v=KF04k0J2cSs", "/downloads/Chess Simp/Why Some Humans Read Left To Right/Why Some Humans Read Left To Right [KF04k0J2cSs].mp4", false, 7, ~U[2026-01-21 12:00:39Z]] 18:28:28.526 [debug] QUERY OK source="sources" db=0.2ms idle=286.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:28.527 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:28:28.527 [debug] QUERY OK source="media_items" db=0.2ms idle=7.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6035] 18:28:28.527 [debug] Current batch of media processed. Will check again in 1000ms 18:28:29.528 [debug] Current batch of media processed. Will check again in 1000ms 18:28:30.529 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "duration" => 258, "filename" => "/downloads/Chess Simp/If Columbus Plays Chess/If Columbus Plays Chess [18HcXK-bSb4].mp4", "id" => "18HcXK-bSb4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=18HcXK-bSb4", "playlist_index" => 20, "timestamp" => 1768910402, "title" => "If Columbus Plays Chess", "upload_date" => "20260120"} 18:28:30.530 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=604.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:28:30.531 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=606.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:30.538 [debug] QUERY OK source="media_items" db=6.0ms idle=607.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-20 12:00:02Z], 7] 18:28:30.541 [debug] QUERY OK source="media_items" db=1.8ms idle=613.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Columbus Plays Chess", "7fc973f7-9182-4f70-b2ea-6ee0037e98ff", 258, false, "18HcXK-bSb4", "https://www.youtube.com/watch?v=18HcXK-bSb4", 20, "/downloads/Chess Simp/If Columbus Plays Chess/If Columbus Plays Chess [18HcXK-bSb4].mp4", false, false, false, 7, [], 98, ~U[2026-01-20 12:00:02Z], ~U[2026-02-16 18:28:30Z], ~U[2026-02-16 18:28:30Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Columbus Plays Chess", 258, false, "18HcXK-bSb4", "https://www.youtube.com/watch?v=18HcXK-bSb4", "/downloads/Chess Simp/If Columbus Plays Chess/If Columbus Plays Chess [18HcXK-bSb4].mp4", false, 7, ~U[2026-01-20 12:00:02Z]] 18:28:30.542 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=297.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:30.543 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=12.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:28:30.545 [debug] QUERY OK source="media_items" db=0.8ms idle=12.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6037] 18:28:30.545 [debug] Current batch of media processed. Will check again in 1000ms 18:28:31.546 [debug] Current batch of media processed. Will check again in 1000ms 18:28:32.547 [debug] Current batch of media processed. Will check again in 1000ms 18:28:33.171 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@ChessSimp --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Chess Simp/%(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/db/bc/dbbcfc6609748602efb3875e5ceb0f89b59c13a64742b398d9d02edb8cb21080.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/e2/ab/e2abf4669a063dc945a6cd261cc9deaa15b5ef836afbcdeed36de54c67f9a151.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 18:28:33.171 [debug] Gracefully stopping file follower 18:28:33.172 [debug] QUERY OK source="sources" db=0.4ms idle=1247.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 18:28:33.173 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1247.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.175 [debug] QUERY OK source="media_items" db=2.1ms idle=1248.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-16 12:00:42Z], 7] 18:28:33.176 [debug] QUERY OK source="media_items" db=0.7ms idle=1250.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Chess Were Politics", "4b82b75d-24ee-45ac-a415-b49bd688ebbd", 344, false, "Mzw_Vl5rYcw", "https://www.youtube.com/watch?v=Mzw_Vl5rYcw", 1, "/downloads/Chess Simp/If Chess Were Politics/If Chess Were Politics [Mzw_Vl5rYcw].mp4", false, false, false, 7, [], 98, ~U[2026-02-16 12:00:42Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Chess Were Politics", 344, false, "Mzw_Vl5rYcw", "https://www.youtube.com/watch?v=Mzw_Vl5rYcw", "/downloads/Chess Simp/If Chess Were Politics/If Chess Were Politics [Mzw_Vl5rYcw].mp4", false, 7, ~U[2026-02-16 12:00:42Z]] 18:28:33.177 [debug] QUERY OK source="sources" db=0.2ms idle=929.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.179 [debug] QUERY OK source="media_items" db=2.3ms idle=4.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-14 12:01:42Z], 7] 18:28:33.181 [debug] QUERY OK source="media_items" db=0.8ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Check out Chessreps, I promise it is actually good:\nhttps://www.chessreps.com/chesssimp\n\nSubscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Chess Players Were Pacifists", "d69a2393-5171-463a-aab7-e24cca838143", 289, false, "yKDXQFSBk_E", "https://www.youtube.com/watch?v=yKDXQFSBk_E", 2, "/downloads/Chess Simp/If Chess Players Were Pacifists/If Chess Players Were Pacifists [yKDXQFSBk_E].mp4", false, false, false, 7, [], 98, ~U[2026-02-14 12:01:42Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Check out Chessreps, I promise it is actually good:\nhttps://www.chessreps.com/chesssimp\n\nSubscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Chess Players Were Pacifists", 289, false, "yKDXQFSBk_E", "https://www.youtube.com/watch?v=yKDXQFSBk_E", "/downloads/Chess Simp/If Chess Players Were Pacifists/If Chess Players Were Pacifists [yKDXQFSBk_E].mp4", false, 7, ~U[2026-02-14 12:01:42Z]] 18:28:33.181 [debug] QUERY OK source="sources" db=0.3ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.184 [debug] QUERY OK source="media_items" db=2.2ms idle=5.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 12:00:14Z], 7] 18:28:33.185 [debug] QUERY OK source="media_items" db=0.8ms idle=7.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Chess Was Binary", "400c8c38-5236-4c6f-897b-021d57c7b493", 288, false, "6HfcklKB5BU", "https://www.youtube.com/watch?v=6HfcklKB5BU", 3, "/downloads/Chess Simp/If Chess Was Binary/If Chess Was Binary [6HfcklKB5BU].mp4", false, false, false, 7, [], 98, ~U[2026-02-12 12:00:14Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Chess Was Binary", 288, false, "6HfcklKB5BU", "https://www.youtube.com/watch?v=6HfcklKB5BU", "/downloads/Chess Simp/If Chess Was Binary/If Chess Was Binary [6HfcklKB5BU].mp4", false, 7, ~U[2026-02-12 12:00:14Z]] 18:28:33.185 [debug] QUERY OK source="sources" db=0.3ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.188 [debug] QUERY OK source="media_items" db=2.2ms idle=5.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-11 12:01:48Z], 7] 18:28:33.189 [debug] QUERY OK source="media_items" db=0.9ms idle=6.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "The Most Mysterious Chess Player Ever", "022c9d94-3a1c-46e1-8ede-fe09d4db3575", 331, false, "xltR4W1CCY8", "https://www.youtube.com/watch?v=xltR4W1CCY8", 4, "/downloads/Chess Simp/The Most Mysterious Chess Player Ever/The Most Mysterious Chess Player Ever [xltR4W1CCY8].mp4", false, false, false, 7, [], 98, ~U[2026-02-11 12:01:48Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "The Most Mysterious Chess Player Ever", 331, false, "xltR4W1CCY8", "https://www.youtube.com/watch?v=xltR4W1CCY8", "/downloads/Chess Simp/The Most Mysterious Chess Player Ever/The Most Mysterious Chess Player Ever [xltR4W1CCY8].mp4", false, 7, ~U[2026-02-11 12:01:48Z]] 18:28:33.190 [debug] QUERY OK source="sources" db=0.3ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.192 [debug] QUERY OK source="media_items" db=2.3ms idle=5.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-10 12:00:01Z], 7] 18:28:33.194 [debug] QUERY OK source="media_items" db=0.8ms idle=7.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Check out Chessreps, I promise it is actually good:\nhttps://www.chessreps.com/chesssimp\n\nSubscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Piece Value Is NOT REAL", "8575e47e-642e-4d9a-8caf-6ed3bec5e3b9", 300, false, "a3hRTGoOoDg", "https://www.youtube.com/watch?v=a3hRTGoOoDg", 5, "/downloads/Chess Simp/Piece Value Is NOT REAL/Piece Value Is NOT REAL [a3hRTGoOoDg].mp4", false, false, false, 7, [], 98, ~U[2026-02-10 12:00:01Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Check out Chessreps, I promise it is actually good:\nhttps://www.chessreps.com/chesssimp\n\nSubscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Piece Value Is NOT REAL", 300, false, "a3hRTGoOoDg", "https://www.youtube.com/watch?v=a3hRTGoOoDg", "/downloads/Chess Simp/Piece Value Is NOT REAL/Piece Value Is NOT REAL [a3hRTGoOoDg].mp4", false, 7, ~U[2026-02-10 12:00:01Z]] 18:28:33.194 [debug] QUERY OK source="sources" db=0.4ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.197 [debug] QUERY OK source="media_items" db=2.2ms idle=5.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-09 12:01:42Z], 7] 18:28:33.198 [debug] QUERY OK source="media_items" db=0.7ms idle=7.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "When A Right Handed Plays Chess", "f7ef8879-e670-488c-903c-15a473fce859", 368, false, "vyR5Xjnjm_U", "https://www.youtube.com/watch?v=vyR5Xjnjm_U", 6, "/downloads/Chess Simp/When A Right Handed Plays Chess/When A Right Handed Plays Chess [vyR5Xjnjm_U].mp4", false, false, false, 7, [], 98, ~U[2026-02-09 12:01:42Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "When A Right Handed Plays Chess", 368, false, "vyR5Xjnjm_U", "https://www.youtube.com/watch?v=vyR5Xjnjm_U", "/downloads/Chess Simp/When A Right Handed Plays Chess/When A Right Handed Plays Chess [vyR5Xjnjm_U].mp4", false, 7, ~U[2026-02-09 12:01:42Z]] 18:28:33.198 [debug] QUERY OK source="sources" db=0.3ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.201 [debug] QUERY OK source="media_items" db=2.2ms idle=4.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-07 12:00:51Z], 7] 18:28:33.202 [debug] QUERY OK source="media_items" db=0.8ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why Everyone Should Learn Openings", "8a13b6a6-ce34-4b84-b154-d8205afe17b8", 221, false, "RBF0kXwy1GI", "https://www.youtube.com/watch?v=RBF0kXwy1GI", 7, "/downloads/Chess Simp/Why Everyone Should Learn Openings/Why Everyone Should Learn Openings [RBF0kXwy1GI].mp4", false, false, false, 7, [], 98, ~U[2026-02-07 12:00:51Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why Everyone Should Learn Openings", 221, false, "RBF0kXwy1GI", "https://www.youtube.com/watch?v=RBF0kXwy1GI", "/downloads/Chess Simp/Why Everyone Should Learn Openings/Why Everyone Should Learn Openings [RBF0kXwy1GI].mp4", false, 7, ~U[2026-02-07 12:00:51Z]] 18:28:33.203 [debug] QUERY OK source="sources" db=1.0ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.206 [debug] QUERY OK source="media_items" db=2.2ms idle=5.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 12:01:28Z], 7] 18:28:33.207 [debug] QUERY OK source="media_items" db=0.8ms idle=7.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why Retreat Is Always Good", "56513a37-d2cd-4961-8f4e-ca4b951dba20", 290, false, "pJmriZcFF9w", "https://www.youtube.com/watch?v=pJmriZcFF9w", 8, "/downloads/Chess Simp/Why Retreat Is Always Good/Why Retreat Is Always Good [pJmriZcFF9w].mp4", false, false, false, 7, [], 98, ~U[2026-02-05 12:01:28Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why Retreat Is Always Good", 290, false, "pJmriZcFF9w", "https://www.youtube.com/watch?v=pJmriZcFF9w", "/downloads/Chess Simp/Why Retreat Is Always Good/Why Retreat Is Always Good [pJmriZcFF9w].mp4", false, 7, ~U[2026-02-05 12:01:28Z]] 18:28:33.207 [debug] QUERY OK source="sources" db=0.3ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.210 [debug] QUERY OK source="media_items" db=2.2ms idle=5.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-04 12:01:39Z], 7] 18:28:33.211 [debug] QUERY OK source="media_items" db=0.8ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "How To Capture Every 3 Moves", "aa106125-84af-46fa-a627-67ffcbc10ae3", 481, false, "sHgYu_W1xAI", "https://www.youtube.com/watch?v=sHgYu_W1xAI", 9, "/downloads/Chess Simp/How To Capture Every 3 Moves/How To Capture Every 3 Moves [sHgYu_W1xAI].mp4", false, false, false, 7, [], 98, ~U[2026-02-04 12:01:39Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "How To Capture Every 3 Moves", 481, false, "sHgYu_W1xAI", "https://www.youtube.com/watch?v=sHgYu_W1xAI", "/downloads/Chess Simp/How To Capture Every 3 Moves/How To Capture Every 3 Moves [sHgYu_W1xAI].mp4", false, 7, ~U[2026-02-04 12:01:39Z]] 18:28:33.212 [debug] QUERY OK source="sources" db=0.4ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.214 [debug] QUERY OK source="media_items" db=2.0ms idle=5.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-03 12:00:30Z], 7] 18:28:33.215 [debug] QUERY OK source="media_items" db=0.7ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If A Special Agent Plays Chess", "f3187a8d-f54f-4546-bc4e-ce6f7549e810", 260, false, "IMX4BbRFpJo", "https://www.youtube.com/watch?v=IMX4BbRFpJo", 10, "/downloads/Chess Simp/If A Special Agent Plays Chess/If A Special Agent Plays Chess [IMX4BbRFpJo].mp4", false, false, false, 7, [], 98, ~U[2026-02-03 12:00:30Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If A Special Agent Plays Chess", 260, false, "IMX4BbRFpJo", "https://www.youtube.com/watch?v=IMX4BbRFpJo", "/downloads/Chess Simp/If A Special Agent Plays Chess/If A Special Agent Plays Chess [IMX4BbRFpJo].mp4", false, 7, ~U[2026-02-03 12:00:30Z]] 18:28:33.216 [debug] QUERY OK source="sources" db=0.3ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.218 [debug] QUERY OK source="media_items" db=2.0ms idle=4.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-02 12:00:10Z], 7] 18:28:33.219 [debug] QUERY OK source="media_items" db=0.8ms idle=6.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why Pawn Promotions Are Difficult", "f064931b-e3a1-4c62-b492-483a4fb29c96", 348, false, "88jgWFTrk70", "https://www.youtube.com/watch?v=88jgWFTrk70", 11, "/downloads/Chess Simp/Why Pawn Promotions Are Difficult/Why Pawn Promotions Are Difficult [88jgWFTrk70].mp4", false, false, false, 7, [], 98, ~U[2026-02-02 12:00:10Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why Pawn Promotions Are Difficult", 348, false, "88jgWFTrk70", "https://www.youtube.com/watch?v=88jgWFTrk70", "/downloads/Chess Simp/Why Pawn Promotions Are Difficult/Why Pawn Promotions Are Difficult [88jgWFTrk70].mp4", false, 7, ~U[2026-02-02 12:00:10Z]] 18:28:33.220 [debug] QUERY OK source="sources" db=0.4ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.222 [debug] QUERY OK source="media_items" db=2.1ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-31 12:00:15Z], 7] 18:28:33.223 [debug] QUERY OK source="media_items" db=0.8ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Chess, But With Honour", "3cb68632-bfd6-4d76-9d18-66baca825e0d", 279, false, "9DWzWuOv3ts", "https://www.youtube.com/watch?v=9DWzWuOv3ts", 12, "/downloads/Chess Simp/Chess, But With Honour/Chess, But With Honour [9DWzWuOv3ts].mp4", false, false, false, 7, [], 98, ~U[2026-01-31 12:00:15Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Chess, But With Honour", 279, false, "9DWzWuOv3ts", "https://www.youtube.com/watch?v=9DWzWuOv3ts", "/downloads/Chess Simp/Chess, But With Honour/Chess, But With Honour [9DWzWuOv3ts].mp4", false, 7, ~U[2026-01-31 12:00:15Z]] 18:28:33.224 [debug] QUERY OK source="sources" db=0.3ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.226 [debug] QUERY OK source="media_items" db=2.1ms idle=4.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 12:01:20Z], 7] 18:28:33.228 [debug] QUERY OK source="media_items" db=1.0ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "When Blunders Are Good Moves", "026b2cba-95f9-498b-97ce-8e27136b665e", 253, false, "jBZgW-me8tc", "https://www.youtube.com/watch?v=jBZgW-me8tc", 13, "/downloads/Chess Simp/When Blunders Are Good Moves/When Blunders Are Good Moves [jBZgW-me8tc].mp4", false, false, false, 7, [], 98, ~U[2026-01-29 12:01:20Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "When Blunders Are Good Moves", 253, false, "jBZgW-me8tc", "https://www.youtube.com/watch?v=jBZgW-me8tc", "/downloads/Chess Simp/When Blunders Are Good Moves/When Blunders Are Good Moves [jBZgW-me8tc].mp4", false, 7, ~U[2026-01-29 12:01:20Z]] 18:28:33.228 [debug] QUERY OK source="sources" db=0.5ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.231 [debug] QUERY OK source="media_items" db=2.1ms idle=5.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-28 12:00:39Z], 7] 18:28:33.232 [debug] QUERY OK source="media_items" db=0.9ms idle=7.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "When Checkmate Is Physically Forced", "69305b65-0b0e-4eb8-a779-6efd38aab08a", 402, false, "KbtMk5FkoZ8", "https://www.youtube.com/watch?v=KbtMk5FkoZ8", 14, "/downloads/Chess Simp/When Checkmate Is Physically Forced/When Checkmate Is Physically Forced [KbtMk5FkoZ8].mp4", false, false, false, 7, [], 98, ~U[2026-01-28 12:00:39Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "When Checkmate Is Physically Forced", 402, false, "KbtMk5FkoZ8", "https://www.youtube.com/watch?v=KbtMk5FkoZ8", "/downloads/Chess Simp/When Checkmate Is Physically Forced/When Checkmate Is Physically Forced [KbtMk5FkoZ8].mp4", false, 7, ~U[2026-01-28 12:00:39Z]] 18:28:33.233 [debug] QUERY OK source="sources" db=0.4ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.235 [debug] QUERY OK source="media_items" db=2.0ms idle=5.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-27 12:00:20Z], 7] 18:28:33.237 [debug] QUERY OK source="media_items" db=1.7ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #bongcloud", "Why Checks Always Come First", "3bddb0ed-4897-4356-a84b-38c1ab1cdb18", 302, false, "7d7IjTNAuGw", "https://www.youtube.com/watch?v=7d7IjTNAuGw", 15, "/downloads/Chess Simp/Why Checks Always Come First/Why Checks Always Come First [7d7IjTNAuGw].mp4", false, false, false, 7, [], 98, ~U[2026-01-27 12:00:20Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #bongcloud", "Why Checks Always Come First", 302, false, "7d7IjTNAuGw", "https://www.youtube.com/watch?v=7d7IjTNAuGw", "/downloads/Chess Simp/Why Checks Always Come First/Why Checks Always Come First [7d7IjTNAuGw].mp4", false, 7, ~U[2026-01-27 12:00:20Z]] 18:28:33.238 [debug] QUERY OK source="sources" db=0.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.240 [debug] QUERY OK source="media_items" db=1.9ms idle=6.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-26 12:00:30Z], 7] 18:28:33.241 [debug] QUERY OK source="media_items" db=0.7ms idle=7.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Keep The Horses Warm", "cf777a27-683c-42e1-9ff4-53f89b777d09", 326, false, "APFUTfKq36M", "https://www.youtube.com/watch?v=APFUTfKq36M", 16, "/downloads/Chess Simp/Keep The Horses Warm/Keep The Horses Warm [APFUTfKq36M].mp4", false, false, false, 7, [], 98, ~U[2026-01-26 12:00:30Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Keep The Horses Warm", 326, false, "APFUTfKq36M", "https://www.youtube.com/watch?v=APFUTfKq36M", "/downloads/Chess Simp/Keep The Horses Warm/Keep The Horses Warm [APFUTfKq36M].mp4", false, 7, ~U[2026-01-26 12:00:30Z]] 18:28:33.241 [debug] QUERY OK source="sources" db=0.4ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.244 [debug] QUERY OK source="media_items" db=2.5ms idle=4.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-24 12:01:22Z], 7] 18:28:33.246 [debug] QUERY OK source="media_items" db=1.0ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why The E Files Must Be Protected", "f75f33c7-ea3a-458d-bcb3-b2ef78ec1b64", 252, false, "pElr5mid3v4", "https://www.youtube.com/watch?v=pElr5mid3v4", 17, "/downloads/Chess Simp/Why The E Files Must Be Protected/Why The E Files Must Be Protected [pElr5mid3v4].mp4", false, false, false, 7, [], 98, ~U[2026-01-24 12:01:22Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why The E Files Must Be Protected", 252, false, "pElr5mid3v4", "https://www.youtube.com/watch?v=pElr5mid3v4", "/downloads/Chess Simp/Why The E Files Must Be Protected/Why The E Files Must Be Protected [pElr5mid3v4].mp4", false, 7, ~U[2026-01-24 12:01:22Z]] 18:28:33.247 [debug] QUERY OK source="sources" db=0.6ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.250 [debug] QUERY OK source="media_items" db=2.9ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 12:00:54Z], 7] 18:28:33.252 [debug] QUERY OK source="media_items" db=1.4ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why The E File Is Very Important", "3037f5bd-2425-4fda-ae9e-bd3ebd3c9982", 301, false, "OwpzWqyppLk", "https://www.youtube.com/watch?v=OwpzWqyppLk", 18, "/downloads/Chess Simp/Why The E File Is Very Important/Why The E File Is Very Important [OwpzWqyppLk].mp4", false, false, false, 7, [], 98, ~U[2026-01-22 12:00:54Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "Why The E File Is Very Important", 301, false, "OwpzWqyppLk", "https://www.youtube.com/watch?v=OwpzWqyppLk", "/downloads/Chess Simp/Why The E File Is Very Important/Why The E File Is Very Important [OwpzWqyppLk].mp4", false, 7, ~U[2026-01-22 12:00:54Z]] 18:28:33.252 [debug] QUERY OK source="sources" db=0.3ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.255 [debug] QUERY OK source="media_items" db=2.2ms idle=5.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-21 12:00:39Z], 7] 18:28:33.257 [debug] QUERY OK source="media_items" db=1.5ms queue=0.6ms idle=6.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nGame 3 of that same day:\nhttps://youtu.be/mswfrQf760E\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "Why Some Humans Read Left To Right", "08ad174a-3c5c-4567-91d7-27254682ba09", 364, false, "KF04k0J2cSs", "https://www.youtube.com/watch?v=KF04k0J2cSs", 19, "/downloads/Chess Simp/Why Some Humans Read Left To Right/Why Some Humans Read Left To Right [KF04k0J2cSs].mp4", false, false, false, 7, [], 98, ~U[2026-01-21 12:00:39Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nGame 3 of that same day:\nhttps://youtu.be/mswfrQf760E\n\n🎵 Music used in this video:\nXomu - Last Dance:\nhttps://www.youtube.com/watch?v=rFl5aK6n_FQ\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut #drawback", "Why Some Humans Read Left To Right", 364, false, "KF04k0J2cSs", "https://www.youtube.com/watch?v=KF04k0J2cSs", "/downloads/Chess Simp/Why Some Humans Read Left To Right/Why Some Humans Read Left To Right [KF04k0J2cSs].mp4", false, 7, ~U[2026-01-21 12:00:39Z]] 18:28:33.258 [debug] QUERY OK source="sources" db=0.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" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.261 [debug] QUERY OK source="media_items" db=2.5ms idle=6.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-20 12:00:02Z], 7] 18:28:33.263 [debug] QUERY OK source="media_items" db=1.5ms idle=9.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Columbus Plays Chess", "28e5bda9-11fb-404f-ab8e-026a2912ab40", 258, false, "18HcXK-bSb4", "https://www.youtube.com/watch?v=18HcXK-bSb4", 20, "/downloads/Chess Simp/If Columbus Plays Chess/If Columbus Plays Chess [18HcXK-bSb4].mp4", false, false, false, 7, [], 98, ~U[2026-01-20 12:00:02Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\n🎵 Music used in this video:\nHonkai Star Rail - Thundering Chariot\nHonkai Star Rail - Flashpoint\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "If Columbus Plays Chess", 258, false, "18HcXK-bSb4", "https://www.youtube.com/watch?v=18HcXK-bSb4", "/downloads/Chess Simp/If Columbus Plays Chess/If Columbus Plays Chess [18HcXK-bSb4].mp4", false, 7, ~U[2026-01-20 12:00:02Z]] 18:28:33.266 [debug] QUERY OK source="sources" db=2.4ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:28:33.269 [debug] QUERY OK source="media_items" db=2.5ms idle=8.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-19 12:01:17Z], 7] 18:28:33.270 [debug] QUERY OK source="media_items" db=0.8ms idle=10.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "The Pawns Protect The King", "63dc2c59-91bd-49d3-85f0-1de256934404", 271, false, "fKzBEqxQlFg", "https://www.youtube.com/watch?v=fKzBEqxQlFg", 21, "/downloads/Chess Simp/The Pawns Protect The King/The Pawns Protect The King [fKzBEqxQlFg].mp4", false, false, false, 7, [], 98, ~U[2026-01-19 12:01:17Z], ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], "Subscribe for more funny chess content, and join my Discord server at:\nhttps://discord.gg/ZJzn8h8bJW\n\nMusic used in this video:\nHonkai Star Rail - Aberrant Receptacle\n\nLike my video? Donate here: https://www.paypal.me/chesssimp\n\n#chess #ChessBut", "The Pawns Protect The King", 271, false, "fKzBEqxQlFg", "https://www.youtube.com/watch?v=fKzBEqxQlFg", "/downloads/Chess Simp/The Pawns Protect The King/The Pawns Protect The King [fKzBEqxQlFg].mp4", false, 7, ~U[2026-01-19 12:01:17Z]] 18:28:33.271 [debug] QUERY OK source="sources" db=0.4ms idle=9.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z], 7] 18:28:33.273 [debug] QUERY OK source="media_items" db=2.3ms idle=7.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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 18:28:33.276 [debug] QUERY OK source="media_items" db=2.1ms idle=7.6ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 18:28:33.276 [debug] QUERY OK source="media_items" db=0.6ms idle=7.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 18:28:33.276 [info] No notification servers provided for source 7 18:28:33.278 [debug] QUERY OK source="tasks" db=0.4ms idle=4.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [411, 7, ~U[2026-02-16 18:28:33Z], ~U[2026-02-16 18:28:33Z]] 18:28:33.279 [info] {"args":{"id":7},"id":398,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":60144418,"event":"job:stop","queue_time":45381,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 18:28:34.609 [info] {"source":"oban","duration":1591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:00.675 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:29:04.612 [info] {"source":"oban","duration":1388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:34.614 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:00.676 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:30:04.616 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:34.619 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:00.677 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:31:04.621 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:34.623 [info] {"source":"oban","duration":1411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:00.678 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:32:04.625 [info] {"source":"oban","duration":1477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:34.628 [info] {"source":"oban","duration":1140,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:00.679 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:33:04.630 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:34.632 [info] {"source":"oban","duration":1886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:00.680 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:34:04.635 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:34.637 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:00.681 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:35:04.640 [info] {"source":"oban","duration":1388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:34.642 [info] {"source":"oban","duration":1366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:00.682 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:36:04.644 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:34.646 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:00.683 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:37:04.648 [info] {"source":"oban","duration":1232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:34.650 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:00.684 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:38:04.652 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:34.655 [info] {"source":"oban","duration":1878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:00.685 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:39:04.658 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:34.660 [info] {"source":"oban","duration":1036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:00.686 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:40:04.662 [info] {"source":"oban","duration":1354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:34.664 [info] {"source":"oban","duration":1460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:00.687 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:41:04.666 [info] {"source":"oban","duration":1359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:34.668 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:00.688 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:42:04.672 [info] {"source":"oban","duration":1707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:34.674 [info] {"source":"oban","duration":1870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:00.690 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:43:04.677 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:34.679 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:00.691 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:44:04.681 [info] {"source":"oban","duration":1339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:34.683 [info] {"source":"oban","duration":1342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:00.692 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:45:04.685 [info] {"source":"oban","duration":1492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:34.688 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:00.694 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:46:04.690 [info] {"source":"oban","duration":1875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:34.693 [info] {"source":"oban","duration":1479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:00.695 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:47:04.696 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:34.697 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:00.696 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:48:04.699 [info] {"source":"oban","duration":1355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:34.701 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:00.698 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:49:04.704 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:34.707 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:00.700 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:50:04.709 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:34.712 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:00.702 [info] {"source":"oban","duration":331,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:51:04.714 [info] {"source":"oban","duration":1248,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:34.716 [info] {"source":"oban","duration":1367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:00.703 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:52:04.718 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:34.720 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:00.705 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:53:04.723 [info] {"source":"oban","duration":1480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:34.725 [info] {"source":"oban","duration":1421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:00.706 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:54:04.727 [info] {"source":"oban","duration":1403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:34.729 [info] {"source":"oban","duration":1390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:00.707 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:55:04.731 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:34.733 [info] {"source":"oban","duration":1519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:00.709 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:56:04.735 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:34.738 [info] {"source":"oban","duration":2615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:00.710 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:57:04.741 [info] {"source":"oban","duration":2337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:34.743 [info] {"source":"oban","duration":1423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:00.713 [info] {"source":"oban","duration":1782,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[412]} 18:58:00.720 [info] {"args":{},"id":412,"meta":{"cron":true,"cron_expr":"58 18 * * *","cron_tz":"Etc/UTC"},"system_time":1771268280720023698,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 18:58:00.720 [info] Updating yt-dlp 18:58:00.720 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 18:58:01.984 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.02.04 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.02.04 from yt-dlp/yt-dlp) 18:58:01.984 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 18:58:02.815 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.02.04 18:58:02.816 [debug] QUERY OK source="settings" db=0.3ms idle=873.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:02.817 [info] {"args":{},"id":412,"meta":{"cron":true,"cron_expr":"58 18 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":2096515,"event":"job:stop","queue_time":718120,"attempt":1,"tags":["local_data"]} 18:58:04.745 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:34.749 [info] {"source":"oban","duration":2651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:00.714 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:59:04.753 [info] {"source":"oban","duration":1555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:34.755 [info] {"source":"oban","duration":1261,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:00.715 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:00:04.757 [info] {"source":"oban","duration":1287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:34.759 [info] {"source":"oban","duration":1298,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:00.716 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:01:04.761 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:34.764 [info] {"source":"oban","duration":1490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:00.718 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:02:04.766 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:34.768 [info] {"source":"oban","duration":1296,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:00.719 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:03:04.770 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:34.772 [info] {"source":"oban","duration":1360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:00.720 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:04:04.775 [info] {"source":"oban","duration":1949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:34.776 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:00.723 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:05:04.779 [info] {"source":"oban","duration":1914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:34.781 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:00.724 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:06:04.783 [info] {"source":"oban","duration":1358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:34.786 [info] {"source":"oban","duration":1950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:00.725 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:07:04.789 [info] {"source":"oban","duration":2017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:34.791 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:00.726 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:08:04.793 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:34.795 [info] {"source":"oban","duration":1369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:00.727 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:09:04.797 [info] {"source":"oban","duration":1268,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:34.799 [info] {"source":"oban","duration":1275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:00.728 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:10:04.802 [info] {"source":"oban","duration":2010,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:34.804 [info] {"source":"oban","duration":1503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:00.729 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:11:04.806 [info] {"source":"oban","duration":1336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:34.809 [info] {"source":"oban","duration":1970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:00.730 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:12:04.811 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:34.814 [info] {"source":"oban","duration":1923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:00.732 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:13:04.815 [info] {"source":"oban","duration":884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:34.818 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:00.733 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:14:04.821 [info] {"source":"oban","duration":2311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:34.826 [info] {"source":"oban","duration":1451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:00.734 [info] {"source":"oban","duration":157,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:15:04.828 [info] {"source":"oban","duration":1339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:34.830 [info] {"source":"oban","duration":1411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:00.735 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:16:04.832 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:34.835 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:00.737 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:17:04.837 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:34.839 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:00.738 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:18:04.842 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:34.844 [info] {"source":"oban","duration":1482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:46.556 [info] {"args":{"id":6},"id":400,"meta":{},"system_time":1771269526556454810,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 19:18:46.558 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=608.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:46.559 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=610.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:18:46.590 [debug] QUERY OK source="media_items" db=30.5ms idle=611.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")))) [6] 19:18:46.591 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=42.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 19:18:46.592 [debug] QUERY OK source="media_profiles" db=0.3ms idle=35.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:46.594 [debug] QUERY OK source="settings" db=0.5ms idle=35.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:18:46.594 [debug] QUERY OK source="settings" db=0.2ms 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 [] 19:18:46.602 [debug] QUERY OK source="media_items" db=5.3ms 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 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [6] 19:18:46.604 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 19:18:46.604 [debug] Current batch of media processed. Will check again in 1000ms 19:18:46.604 [debug] QUERY OK source="settings" db=0.3ms idle=12.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:18:46.605 [debug] QUERY OK source="settings" db=0.3ms idle=12.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:18:46.605 [debug] QUERY OK source="settings" db=0.3ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:18:46.606 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@GoodMythicalMorning --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Good Mythical Morning/%(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/f3/48/f348aab7ad93099526cc5c9620a7b8fc8ae5417395cec9b87ffca50c93d11091.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/6e/d8/6ed80f17a9c9b575602ed02bbcb2b1530b72daf795b3cd35988cb406ba78fecd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:18:47.605 [debug] Current batch of media processed. Will check again in 1000ms 19:18:48.606 [debug] Current batch of media processed. Will check again in 1000ms 19:18:49.607 [debug] Current batch of media processed. Will check again in 1000ms 19:18:50.608 [debug] Current batch of media processed. Will check again in 1000ms 19:18:51.609 [debug] Current batch of media processed. Will check again in 1000ms 19:18:52.610 [debug] Current batch of media processed. Will check again in 1000ms 19:18:53.611 [debug] Current batch of media processed. Will check again in 1000ms 19:18:54.612 [debug] Current batch of media processed. Will check again in 1000ms 19:18:55.613 [debug] Current batch of media processed. Will check again in 1000ms 19:18:56.614 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we compare American and Japanese 7-Eleven snacks. Head to https://drinkag1.com/mythical to get FREE AG1 & AGZ Travel Packs, Vitamin D3+K2, and AG1 Welcome Kit when you first subscribe.\n\nWatch today's GMMORE: https://youtu.be/kFCPdpsCaAc\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt19Zo-4AvqCzCg2K1-dRSg\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2981", "duration" => 1854, "filename" => "/downloads/Good Mythical Morning/Japanese vs. American 7-Eleven (Taste Test)/Japanese vs. American 7-Eleven (Taste Test) [QH1pZ2wttDk].mp4", "id" => "QH1pZ2wttDk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QH1pZ2wttDk", "playlist_index" => 1, "timestamp" => 1771239640, "title" => "Japanese vs. American 7-Eleven (Taste Test)", "upload_date" => "20260216"} 19:18:56.616 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=666.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:56.617 [debug] QUERY OK source="sources" db=0.3ms idle=668.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:56.630 [debug] QUERY OK source="media_items" db=12.4ms idle=668.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-16 11:00:40Z], 6] 19:18:56.633 [debug] QUERY OK source="media_items" db=3.0ms idle=681.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we compare American and Japanese 7-Eleven snacks. Head to https://drinkag1.com/mythical to get FREE AG1 & AGZ Travel Packs, Vitamin D3+K2, and AG1 Welcome Kit when you first subscribe.\n\nWatch today's GMMORE: https://youtu.be/kFCPdpsCaAc\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt19Zo-4AvqCzCg2K1-dRSg\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2981", "Japanese vs. American 7-Eleven (Taste Test)", "bc8884d6-3475-4326-a107-948d768c9d95", 1854, false, "QH1pZ2wttDk", "https://www.youtube.com/watch?v=QH1pZ2wttDk", 1, "/downloads/Good Mythical Morning/Japanese vs. American 7-Eleven (Taste Test)/Japanese vs. American 7-Eleven (Taste Test) [QH1pZ2wttDk].mp4", false, false, false, 6, [], 99, ~U[2026-02-16 11:00:40Z], ~U[2026-02-16 19:18:56Z], ~U[2026-02-16 19:18:56Z], "Today we compare American and Japanese 7-Eleven snacks. Head to https://drinkag1.com/mythical to get FREE AG1 & AGZ Travel Packs, Vitamin D3+K2, and AG1 Welcome Kit when you first subscribe.\n\nWatch today's GMMORE: https://youtu.be/kFCPdpsCaAc\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt19Zo-4AvqCzCg2K1-dRSg\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2981", "Japanese vs. American 7-Eleven (Taste Test)", 1854, false, "QH1pZ2wttDk", "https://www.youtube.com/watch?v=QH1pZ2wttDk", "/downloads/Good Mythical Morning/Japanese vs. American 7-Eleven (Taste Test)/Japanese vs. American 7-Eleven (Taste Test) [QH1pZ2wttDk].mp4", false, 6, ~U[2026-02-16 11:00:40Z]] 19:18:56.634 [debug] QUERY OK source="sources" db=0.4ms idle=65.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:56.634 [debug] QUERY OK source="media_profiles" db=0.4ms idle=18.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:56.636 [debug] QUERY OK source="media_items" db=1.5ms idle=18.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [25854] 19:18:56.636 [info] Kicking off download for media item #25854 (QH1pZ2wttDk) 19:18:56.639 [debug] QUERY OK source="tasks" db=0.2ms idle=5.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [413, 25854, ~U[2026-02-16 19:18:56Z], ~U[2026-02-16 19:18:56Z]] 19:18:56.639 [debug] Current batch of media processed. Will check again in 1000ms 19:18:56.645 [info] {"args":{"id":25854},"id":413,"meta":{},"system_time":1771269536645884914,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:18:56.646 [debug] QUERY OK source="media_items" db=0.2ms idle=9.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [25854] 19:18:56.646 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:18:56.647 [debug] QUERY OK source="sources" db=0.3ms idle=7.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:56.647 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:56.648 [debug] QUERY OK source="media_items" db=0.6ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [25854] 19:18:56.649 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [25854] 19:18:56.649 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:56.650 [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 [] 19:18:56.650 [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 [] 19:18:56.650 [debug] Running yt-dlp command for action: get_downloadable_status 19:18:56.651 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:18:56.651 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:18:56.651 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:18:56.651 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QH1pZ2wttDk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f7/85/f785180628404942f8bb7d4086301324e378c33d694800ccf3c00ceeb0334e05.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:18:57.640 [debug] Current batch of media processed. Will check again in 1000ms 19:18:58.641 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we see what's better cocktail candies or candy cocktails. Help us send Stevie off with the fondest, most Mythical farewell possible! https://Mythical.com/Stevie\n\nWatch today's GMMORE: https://youtu.be/qxg2_CA8Z7Y\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2980", "duration" => 1808, "filename" => "/downloads/Good Mythical Morning/Candy Cocktails vs Cocktail Candies Taste Test/Candy Cocktails vs Cocktail Candies Taste Test [E4aDp87hLbE].mp4", "id" => "E4aDp87hLbE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=E4aDp87hLbE", "playlist_index" => 2, "timestamp" => 1770980421, "title" => "Candy Cocktails vs Cocktail Candies Taste Test", "upload_date" => "20260213"} 19:18:58.642 [debug] QUERY OK source="sources" db=0.6ms idle=694.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:18:58.644 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=695.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:58.673 [debug] QUERY OK source="media_items" db=29.0ms queue=0.1ms idle=696.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-13 11:00:21Z], 6] 19:18:58.678 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=726.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see what's better cocktail candies or candy cocktails. Help us send Stevie off with the fondest, most Mythical farewell possible! https://Mythical.com/Stevie\n\nWatch today's GMMORE: https://youtu.be/qxg2_CA8Z7Y\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2980", "Candy Cocktails vs Cocktail Candies Taste Test", "109af6aa-67df-4613-805c-364e0c58a444", 1808, false, "E4aDp87hLbE", "https://www.youtube.com/watch?v=E4aDp87hLbE", 2, "/downloads/Good Mythical Morning/Candy Cocktails vs Cocktail Candies Taste Test/Candy Cocktails vs Cocktail Candies Taste Test [E4aDp87hLbE].mp4", false, false, false, 6, [], 98, ~U[2026-02-13 11:00:21Z], ~U[2026-02-16 19:18:58Z], ~U[2026-02-16 19:18:58Z], "Today we see what's better cocktail candies or candy cocktails. Help us send Stevie off with the fondest, most Mythical farewell possible! https://Mythical.com/Stevie\n\nWatch today's GMMORE: https://youtu.be/qxg2_CA8Z7Y\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2980", "Candy Cocktails vs Cocktail Candies Taste Test", 1808, false, "E4aDp87hLbE", "https://www.youtube.com/watch?v=E4aDp87hLbE", "/downloads/Good Mythical Morning/Candy Cocktails vs Cocktail Candies Taste Test/Candy Cocktails vs Cocktail Candies Taste Test [E4aDp87hLbE].mp4", false, 6, ~U[2026-02-13 11:00:21Z]] 19:18:58.678 [debug] QUERY OK source="sources" db=0.3ms idle=105.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:18:58.679 [debug] QUERY OK source="media_profiles" db=0.4ms idle=36.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:18:58.680 [debug] QUERY OK source="media_items" db=0.4ms idle=35.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [25116] 19:18:58.680 [debug] Current batch of media processed. Will check again in 1000ms 19:18:59.681 [debug] Current batch of media processed. Will check again in 1000ms 19:19:00.430 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QH1pZ2wttDk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f7/85/f785180628404942f8bb7d4086301324e378c33d694800ccf3c00ceeb0334e05.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:19:00.431 [debug] Running yt-dlp command for action: download 19:19:00.431 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=855.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:19:00.432 [debug] QUERY OK source="settings" db=0.1ms idle=483.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:19:00.432 [debug] QUERY OK source="settings" db=0.5ms idle=484.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:19:00.433 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QH1pZ2wttDk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Good Mythical Morning/%(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor --output /downloads/Good Mythical Morning/%(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cf/94/cf9448d5ced7b7fcf9b53a3b385f6dafdee4002559c1a3bc5b37f1be5ebeae2f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:19:00.682 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we find out which gourmet dog food tastes the best!\n\nWatch today's GMMORE: https://youtu.be/fQXlbkhOHTA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvzyYLLkhoyqe51ptzxCROA\nhttps://youtu.be/Q5AbAM9ZEio\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2979", "duration" => 1182, "filename" => "/downloads/Good Mythical Morning/Is This Dog Food Good Enough For People?/Is This Dog Food Good Enough For People? [IU1q9kAhywM].mp4", "id" => "IU1q9kAhywM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IU1q9kAhywM", "playlist_index" => 3, "timestamp" => 1770894030, "title" => "Is This Dog Food Good Enough For People?", "upload_date" => "20260212"} 19:19:00.682 [debug] QUERY OK source="sources" db=0.2ms idle=734.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:00.683 [debug] QUERY OK source="sources" db=0.1ms idle=251.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:00.693 [debug] QUERY OK source="media_items" db=9.9ms idle=251.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 11:00:30Z], 6] 19:19:00.695 [debug] QUERY OK source="media_items" db=1.2ms idle=260.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we find out which gourmet dog food tastes the best!\n\nWatch today's GMMORE: https://youtu.be/fQXlbkhOHTA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvzyYLLkhoyqe51ptzxCROA\nhttps://youtu.be/Q5AbAM9ZEio\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2979", "Is This Dog Food Good Enough For People?", "f8eabdc3-93af-4e7d-adc9-65b8751885dc", 1182, false, "IU1q9kAhywM", "https://www.youtube.com/watch?v=IU1q9kAhywM", 3, "/downloads/Good Mythical Morning/Is This Dog Food Good Enough For People?/Is This Dog Food Good Enough For People? [IU1q9kAhywM].mp4", false, false, false, 6, [], 98, ~U[2026-02-12 11:00:30Z], ~U[2026-02-16 19:19:00Z], ~U[2026-02-16 19:19:00Z], "Today we find out which gourmet dog food tastes the best!\n\nWatch today's GMMORE: https://youtu.be/fQXlbkhOHTA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvzyYLLkhoyqe51ptzxCROA\nhttps://youtu.be/Q5AbAM9ZEio\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2979", "Is This Dog Food Good Enough For People?", 1182, false, "IU1q9kAhywM", "https://www.youtube.com/watch?v=IU1q9kAhywM", "/downloads/Good Mythical Morning/Is This Dog Food Good Enough For People?/Is This Dog Food Good Enough For People? [IU1q9kAhywM].mp4", false, 6, ~U[2026-02-12 11:00:30Z]] 19:19:00.695 [debug] QUERY OK source="sources" db=0.2ms idle=117.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:00.696 [debug] QUERY OK source="media_profiles" db=0.2ms idle=12.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:00.696 [debug] QUERY OK source="media_items" db=0.2ms idle=13.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 [24871] 19:19:00.696 [debug] Current batch of media processed. Will check again in 1000ms 19:19:00.740 [info] {"source":"oban","duration":154,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:19:01.697 [debug] Current batch of media processed. Will check again in 1000ms 19:19:02.698 [debug] Current batch of media processed. Will check again in 1000ms 19:19:03.700 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, we try to guess the snack from our vending machine. Thank you to Mint Mobile for partnering with us on this video! And for a limited time, you can get 50% off an unlimited premium wireless plan from Mint by visiting https://mintmobile.yt.link/tz4hghi. Lock in Mint’s lowest price of the year and pay just $15/mo for a 3, 6, or 12 month plan. Limited time offer. Upfront payment of: $45 for 3-mo., $90 for 6-mo., or $180 for 12-mo. plan req’d ($15/mo. equiv.). Taxes & fees extra. Initial plan term only. 50GB or more may slow when network is busy. Capable device req'd. Availability, speed & coverage varies. See https://mintmobile.yt.link/tz4hghi \n\nWatch today's GMMORE: https://youtu.be/FJLROFDDgXY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsl9Dhl6n4bPlNsb6h-2Bm-\n\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2978", "duration" => 1775, "filename" => "/downloads/Good Mythical Morning/Guess The Mystery Vending Machine Snack/Guess The Mystery Vending Machine Snack [G0lBo0mWl4o].mp4", "id" => "G0lBo0mWl4o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=G0lBo0mWl4o", "playlist_index" => 4, "timestamp" => 1770807632, "title" => "Guess The Mystery Vending Machine Snack", "upload_date" => "20260211"} 19:19:03.701 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1752.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:03.702 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1753.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:03.736 [debug] QUERY OK source="media_items" db=33.0ms queue=0.1ms idle=1754.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-11 11:00:32Z], 6] 19:19:03.739 [debug] QUERY OK source="media_items" db=2.7ms idle=1156.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we try to guess the snack from our vending machine. Thank you to Mint Mobile for partnering with us on this video! And for a limited time, you can get 50% off an unlimited premium wireless plan from Mint by visiting https://mintmobile.yt.link/tz4hghi. Lock in Mint’s lowest price of the year and pay just $15/mo for a 3, 6, or 12 month plan. Limited time offer. Upfront payment of: $45 for 3-mo., $90 for 6-mo., or $180 for 12-mo. plan req’d ($15/mo. equiv.). Taxes & fees extra. Initial plan term only. 50GB or more may slow when network is busy. Capable device req'd. Availability, speed & coverage varies. See https://mintmobile.yt.link/tz4hghi \n\nWatch today's GMMORE: https://youtu.be/FJLROFDDgXY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsl9Dhl6n4bPlNsb6h-2Bm-\n\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2978", "Guess The Mystery Vending Machine Snack", "9bb90d7f-2590-4a0d-84b5-d4f00fbc47d6", 1775, false, "G0lBo0mWl4o", "https://www.youtube.com/watch?v=G0lBo0mWl4o", 4, "/downloads/Good Mythical Morning/Guess The Mystery Vending Machine Snack/Guess The Mystery Vending Machine Snack [G0lBo0mWl4o].mp4", false, false, false, 6, [], 98, ~U[2026-02-11 11:00:32Z], ~U[2026-02-16 19:19:03Z], ~U[2026-02-16 19:19:03Z], "Today, we try to guess the snack from our vending machine. Thank you to Mint Mobile for partnering with us on this video! And for a limited time, you can get 50% off an unlimited premium wireless plan from Mint by visiting https://mintmobile.yt.link/tz4hghi. Lock in Mint’s lowest price of the year and pay just $15/mo for a 3, 6, or 12 month plan. Limited time offer. Upfront payment of: $45 for 3-mo., $90 for 6-mo., or $180 for 12-mo. plan req’d ($15/mo. equiv.). Taxes & fees extra. Initial plan term only. 50GB or more may slow when network is busy. Capable device req'd. Availability, speed & coverage varies. See https://mintmobile.yt.link/tz4hghi \n\nWatch today's GMMORE: https://youtu.be/FJLROFDDgXY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsl9Dhl6n4bPlNsb6h-2Bm-\n\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2978", "Guess The Mystery Vending Machine Snack", 1775, false, "G0lBo0mWl4o", "https://www.youtube.com/watch?v=G0lBo0mWl4o", "/downloads/Good Mythical Morning/Guess The Mystery Vending Machine Snack/Guess The Mystery Vending Machine Snack [G0lBo0mWl4o].mp4", false, 6, ~U[2026-02-11 11:00:32Z]] 19:19:03.740 [debug] QUERY OK source="sources" db=0.3ms idle=159.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:03.741 [debug] QUERY OK source="media_profiles" db=0.3ms idle=39.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:03.742 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=39.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24626] 19:19:03.742 [debug] Current batch of media processed. Will check again in 1000ms 19:19:04.743 [debug] Current batch of media processed. Will check again in 1000ms 19:19:04.846 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:05.744 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we see what the most expensive products are at a drugstore.\n\nWatch today's GMMORE: https://youtu.be/UMc5scZm_Rc\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2977", "duration" => 1676, "filename" => "/downloads/Good Mythical Morning/Are These Drugstore Products Worth It?/Are These Drugstore Products Worth It? [qgNwW-oVjv8].mp4", "id" => "qgNwW-oVjv8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qgNwW-oVjv8", "playlist_index" => 5, "timestamp" => 1770721287, "title" => "Are These Drugstore Products Worth It?", "upload_date" => "20260210"} 19:19:05.746 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=898.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:05.747 [debug] QUERY OK source="sources" db=0.4ms idle=798.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:05.761 [debug] QUERY OK source="media_items" db=13.8ms queue=0.1ms idle=799.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-10 11:01:27Z], 6] 19:19:05.763 [debug] QUERY OK source="media_items" db=1.4ms idle=813.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see what the most expensive products are at a drugstore.\n\nWatch today's GMMORE: https://youtu.be/UMc5scZm_Rc\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2977", "Are These Drugstore Products Worth It?", "34df8f2d-ddc7-468d-a58b-7ce7c37eb8aa", 1676, false, "qgNwW-oVjv8", "https://www.youtube.com/watch?v=qgNwW-oVjv8", 5, "/downloads/Good Mythical Morning/Are These Drugstore Products Worth It?/Are These Drugstore Products Worth It? [qgNwW-oVjv8].mp4", false, false, false, 6, [], 98, ~U[2026-02-10 11:01:27Z], ~U[2026-02-16 19:19:05Z], ~U[2026-02-16 19:19:05Z], "Today we see what the most expensive products are at a drugstore.\n\nWatch today's GMMORE: https://youtu.be/UMc5scZm_Rc\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2977", "Are These Drugstore Products Worth It?", 1676, false, "qgNwW-oVjv8", "https://www.youtube.com/watch?v=qgNwW-oVjv8", "/downloads/Good Mythical Morning/Are These Drugstore Products Worth It?/Are These Drugstore Products Worth It? [qgNwW-oVjv8].mp4", false, 6, ~U[2026-02-10 11:01:27Z]] 19:19:05.764 [debug] QUERY OK source="sources" db=0.2ms idle=179.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:05.764 [debug] QUERY OK source="media_profiles" db=0.2ms idle=18.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:05.765 [debug] QUERY OK source="media_items" db=0.2ms idle=17.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24383] 19:19:05.765 [debug] Current batch of media processed. Will check again in 1000ms 19:19:06.766 [debug] Current batch of media processed. Will check again in 1000ms 19:19:07.767 [debug] Current batch of media processed. Will check again in 1000ms 19:19:08.769 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we see how different sub sandwiches taste throughout the world.\n\nWatch today's GMMORE: https://youtu.be/GFtZdJm-oao\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/ZBnWL5f_N2I\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2976", "duration" => 1247, "filename" => "/downloads/Good Mythical Morning/International Subway Taste Test/International Subway Taste Test [4ecTqrjBtBo].mp4", "id" => "4ecTqrjBtBo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4ecTqrjBtBo", "playlist_index" => 6, "timestamp" => 1770634817, "title" => "International Subway Taste Test", "upload_date" => "20260209"} 19:19:08.770 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1821.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:08.771 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=1822.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:08.784 [debug] QUERY OK source="media_items" db=12.2ms queue=0.2ms idle=1823.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-09 11:00:17Z], 6] 19:19:08.786 [debug] QUERY OK source="media_items" db=1.4ms idle=1194.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see how different sub sandwiches taste throughout the world.\n\nWatch today's GMMORE: https://youtu.be/GFtZdJm-oao\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/ZBnWL5f_N2I\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2976", "International Subway Taste Test", "0589aa2c-3199-4cba-9220-9b7ac65867e7", 1247, false, "4ecTqrjBtBo", "https://www.youtube.com/watch?v=4ecTqrjBtBo", 6, "/downloads/Good Mythical Morning/International Subway Taste Test/International Subway Taste Test [4ecTqrjBtBo].mp4", false, false, false, 6, [], 98, ~U[2026-02-09 11:00:17Z], ~U[2026-02-16 19:19:08Z], ~U[2026-02-16 19:19:08Z], "Today we see how different sub sandwiches taste throughout the world.\n\nWatch today's GMMORE: https://youtu.be/GFtZdJm-oao\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/ZBnWL5f_N2I\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2976", "International Subway Taste Test", 1247, false, "4ecTqrjBtBo", "https://www.youtube.com/watch?v=4ecTqrjBtBo", "/downloads/Good Mythical Morning/International Subway Taste Test/International Subway Taste Test [4ecTqrjBtBo].mp4", false, 6, ~U[2026-02-09 11:00:17Z]] 19:19:08.786 [debug] QUERY OK source="sources" db=0.2ms idle=194.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:08.787 [debug] QUERY OK source="media_profiles" db=0.2ms idle=16.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:08.787 [debug] QUERY OK source="media_items" db=0.2ms idle=15.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24143] 19:19:08.787 [debug] Current batch of media processed. Will check again in 1000ms 19:19:09.788 [debug] Current batch of media processed. Will check again in 1000ms 19:19:10.789 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we put our taste buds to the taste and see how refined our palates are!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nWatch today's GMMORE: https://youtu.be/DX_qURN9gps\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2975", "duration" => 1499, "filename" => "/downloads/Good Mythical Morning/Award-Winning Snacks Taste Test/Award-Winning Snacks Taste Test [AF_UTF0DPcU].mp4", "id" => "AF_UTF0DPcU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AF_UTF0DPcU", "playlist_index" => 7, "timestamp" => 1770375616, "title" => "Award-Winning Snacks Taste Test", "upload_date" => "20260206"} 19:19:10.789 [debug] QUERY OK source="sources" db=0.2ms idle=841.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:10.790 [debug] QUERY OK source="sources" db=0.1ms idle=842.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:10.802 [debug] QUERY OK source="media_items" db=11.5ms idle=842.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-06 11:00:16Z], 6] 19:19:10.806 [debug] QUERY OK source="media_items" db=3.8ms idle=854.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we put our taste buds to the taste and see how refined our palates are!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nWatch today's GMMORE: https://youtu.be/DX_qURN9gps\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2975", "Award-Winning Snacks Taste Test", "d555cbec-3e8c-4483-ba0a-117a8a4723f3", 1499, false, "AF_UTF0DPcU", "https://www.youtube.com/watch?v=AF_UTF0DPcU", 7, "/downloads/Good Mythical Morning/Award-Winning Snacks Taste Test/Award-Winning Snacks Taste Test [AF_UTF0DPcU].mp4", false, false, false, 6, [], 98, ~U[2026-02-06 11:00:16Z], ~U[2026-02-16 19:19:10Z], ~U[2026-02-16 19:19:10Z], "Today we put our taste buds to the taste and see how refined our palates are!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nWatch today's GMMORE: https://youtu.be/DX_qURN9gps\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2975", "Award-Winning Snacks Taste Test", 1499, false, "AF_UTF0DPcU", "https://www.youtube.com/watch?v=AF_UTF0DPcU", "/downloads/Good Mythical Morning/Award-Winning Snacks Taste Test/Award-Winning Snacks Taste Test [AF_UTF0DPcU].mp4", false, 6, ~U[2026-02-06 11:00:16Z]] 19:19:10.807 [debug] QUERY OK source="sources" db=0.4ms idle=210.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:10.808 [debug] QUERY OK source="media_profiles" db=0.6ms idle=17.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:10.808 [debug] QUERY OK source="media_items" db=0.4ms idle=18.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 [20432] 19:19:10.809 [debug] Current batch of media processed. Will check again in 1000ms 19:19:11.810 [debug] Current batch of media processed. Will check again in 1000ms 19:19:12.811 [debug] Current batch of media processed. Will check again in 1000ms 19:19:13.812 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, come check out our unclaimed mail haul!\n\nWatch today's GMMORE: https://youtu.be/Ekl2CF3X658\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttruBXEcNJLAiLSlbL9VEoq0D\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/gZab-J6PQx8\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2974", "duration" => 1628, "filename" => "/downloads/Good Mythical Morning/Unboxing Other People's Lost Mail/Unboxing Other People's Lost Mail [kyPfXI4-mpQ].mp4", "id" => "kyPfXI4-mpQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kyPfXI4-mpQ", "playlist_index" => 8, "timestamp" => 1770289290, "title" => "Unboxing Other People's Lost Mail", "upload_date" => "20260205"} 19:19:13.813 [debug] QUERY OK source="sources" db=0.4ms idle=1864.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:13.813 [debug] QUERY OK source="sources" db=0.2ms idle=1865.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:13.825 [debug] QUERY OK source="media_items" db=11.8ms idle=1865.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 11:01:30Z], 6] 19:19:13.827 [debug] QUERY OK source="media_items" db=1.3ms idle=1224.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, come check out our unclaimed mail haul!\n\nWatch today's GMMORE: https://youtu.be/Ekl2CF3X658\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttruBXEcNJLAiLSlbL9VEoq0D\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/gZab-J6PQx8\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2974", "Unboxing Other People's Lost Mail", "36b0ee0d-2055-4314-83c9-55055711d49a", 1628, false, "kyPfXI4-mpQ", "https://www.youtube.com/watch?v=kyPfXI4-mpQ", 8, "/downloads/Good Mythical Morning/Unboxing Other People's Lost Mail/Unboxing Other People's Lost Mail [kyPfXI4-mpQ].mp4", false, false, false, 6, [], 98, ~U[2026-02-05 11:01:30Z], ~U[2026-02-16 19:19:13Z], ~U[2026-02-16 19:19:13Z], "Today, come check out our unclaimed mail haul!\n\nWatch today's GMMORE: https://youtu.be/Ekl2CF3X658\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttruBXEcNJLAiLSlbL9VEoq0D\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/gZab-J6PQx8\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2974", "Unboxing Other People's Lost Mail", 1628, false, "kyPfXI4-mpQ", "https://www.youtube.com/watch?v=kyPfXI4-mpQ", "/downloads/Good Mythical Morning/Unboxing Other People's Lost Mail/Unboxing Other People's Lost Mail [kyPfXI4-mpQ].mp4", false, 6, ~U[2026-02-05 11:01:30Z]] 19:19:13.828 [debug] QUERY OK source="sources" db=0.3ms idle=224.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:13.828 [debug] QUERY OK source="media_profiles" db=0.2ms idle=15.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:13.829 [debug] QUERY OK source="media_items" db=0.2ms idle=15.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20203] 19:19:13.829 [debug] Current batch of media processed. Will check again in 1000ms 19:19:14.830 [debug] Current batch of media processed. Will check again in 1000ms 19:19:15.831 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we see if fancy food has a place in our favorite comfort foods. 🍒 Try the NEW limited-edition Shirley Temple OLIPOP! A brighter, bolder twist on the classic mocktail — made with real ingredients, low sugar, and a functional blend that supports digestive health. Get your free can at https://olipop.yt.link/YtGGDvp — buy any 2 cans in store and OLIPOP will pay you back for one!\n\nWatch today's GMMORE: https://youtu.be/DPCQlYYHxsk\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt19Zo-4AvqCzCg2K1-dRSg\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2973", "duration" => 2274, "filename" => "/downloads/Good Mythical Morning/Fancy Comfort Food Taste Test/Fancy Comfort Food Taste Test [hdaB8NMXN88].mp4", "id" => "hdaB8NMXN88", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hdaB8NMXN88", "playlist_index" => 9, "timestamp" => 1770202873, "title" => "Fancy Comfort Food Taste Test", "upload_date" => "20260204"} 19:19:15.831 [debug] QUERY OK source="sources" db=0.2ms idle=883.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:15.832 [debug] QUERY OK source="sources" db=0.1ms idle=884.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:15.845 [debug] QUERY OK source="media_items" db=13.1ms idle=884.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-04 11:01:13Z], 6] 19:19:15.848 [debug] QUERY OK source="media_items" db=1.8ms idle=898.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see if fancy food has a place in our favorite comfort foods. 🍒 Try the NEW limited-edition Shirley Temple OLIPOP! A brighter, bolder twist on the classic mocktail — made with real ingredients, low sugar, and a functional blend that supports digestive health. Get your free can at https://olipop.yt.link/YtGGDvp — buy any 2 cans in store and OLIPOP will pay you back for one!\n\nWatch today's GMMORE: https://youtu.be/DPCQlYYHxsk\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt19Zo-4AvqCzCg2K1-dRSg\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2973", "Fancy Comfort Food Taste Test", "20484b77-b528-418f-8fb1-e59e4f638240", 2274, false, "hdaB8NMXN88", "https://www.youtube.com/watch?v=hdaB8NMXN88", 9, "/downloads/Good Mythical Morning/Fancy Comfort Food Taste Test/Fancy Comfort Food Taste Test [hdaB8NMXN88].mp4", false, false, false, 6, [], 98, ~U[2026-02-04 11:01:13Z], ~U[2026-02-16 19:19:15Z], ~U[2026-02-16 19:19:15Z], "Today we see if fancy food has a place in our favorite comfort foods. 🍒 Try the NEW limited-edition Shirley Temple OLIPOP! A brighter, bolder twist on the classic mocktail — made with real ingredients, low sugar, and a functional blend that supports digestive health. Get your free can at https://olipop.yt.link/YtGGDvp — buy any 2 cans in store and OLIPOP will pay you back for one!\n\nWatch today's GMMORE: https://youtu.be/DPCQlYYHxsk\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt19Zo-4AvqCzCg2K1-dRSg\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2973", "Fancy Comfort Food Taste Test", 2274, false, "hdaB8NMXN88", "https://www.youtube.com/watch?v=hdaB8NMXN88", "/downloads/Good Mythical Morning/Fancy Comfort Food Taste Test/Fancy Comfort Food Taste Test [hdaB8NMXN88].mp4", false, 6, ~U[2026-02-04 11:01:13Z]] 19:19:15.849 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=238.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:15.849 [debug] QUERY OK source="media_profiles" db=0.3ms idle=17.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:15.850 [debug] QUERY OK source="media_items" db=0.7ms idle=17.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19981] 19:19:15.850 [debug] Current batch of media processed. Will check again in 1000ms 19:19:16.851 [debug] Current batch of media processed. Will check again in 1000ms 19:19:17.852 [debug] Current batch of media processed. Will check again in 1000ms 19:19:18.853 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, we compare Dollar Tree products to expensive ones and see which can withstand our rage better.\n\nWatch today's GMMORE: https://youtu.be/JVvyzoKjOIY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/QBuQQPF2qO0\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2972", "duration" => 1317, "filename" => "/downloads/Good Mythical Morning/How Durable Are Dollar Store Products?/How Durable Are Dollar Store Products? [qst5sTpZONc].mp4", "id" => "qst5sTpZONc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qst5sTpZONc", "playlist_index" => 10, "timestamp" => 1770116493, "title" => "How Durable Are Dollar Store Products?", "upload_date" => "20260203"} 19:19:18.854 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1905.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:18.855 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1906.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:18.881 [debug] QUERY OK source="media_items" db=25.3ms idle=1907.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-03 11:01:33Z], 6] 19:19:18.884 [debug] QUERY OK source="media_items" db=1.9ms idle=1267.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we compare Dollar Tree products to expensive ones and see which can withstand our rage better.\n\nWatch today's GMMORE: https://youtu.be/JVvyzoKjOIY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/QBuQQPF2qO0\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2972", "How Durable Are Dollar Store Products?", "33b0ee67-b06d-44b1-a4ef-5b782d07ea47", 1317, false, "qst5sTpZONc", "https://www.youtube.com/watch?v=qst5sTpZONc", 10, "/downloads/Good Mythical Morning/How Durable Are Dollar Store Products?/How Durable Are Dollar Store Products? [qst5sTpZONc].mp4", false, false, false, 6, [], 98, ~U[2026-02-03 11:01:33Z], ~U[2026-02-16 19:19:18Z], ~U[2026-02-16 19:19:18Z], "Today, we compare Dollar Tree products to expensive ones and see which can withstand our rage better.\n\nWatch today's GMMORE: https://youtu.be/JVvyzoKjOIY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/QBuQQPF2qO0\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2972", "How Durable Are Dollar Store Products?", 1317, false, "qst5sTpZONc", "https://www.youtube.com/watch?v=qst5sTpZONc", "/downloads/Good Mythical Morning/How Durable Are Dollar Store Products?/How Durable Are Dollar Store Products? [qst5sTpZONc].mp4", false, 6, ~U[2026-02-03 11:01:33Z]] 19:19:18.885 [debug] QUERY OK source="sources" db=1.1ms idle=268.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:18.886 [debug] QUERY OK source="media_profiles" db=0.6ms idle=31.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:18.887 [debug] QUERY OK source="media_items" db=0.5ms idle=31.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19764] 19:19:18.887 [debug] Current batch of media processed. Will check again in 1000ms 19:19:19.888 [debug] Current batch of media processed. Will check again in 1000ms 19:19:20.889 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we find out if these classic kid's foods are better spicy.\n\nWatch today's GMMORE: https://youtu.be/yM1v0rYl3rg\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2971", "duration" => 1257, "filename" => "/downloads/Good Mythical Morning/Are Kid's Foods Better Spicy? (Taste Test)/Are Kid's Foods Better Spicy? (Taste Test) [3SO6r0dtth4].mp4", "id" => "3SO6r0dtth4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3SO6r0dtth4", "playlist_index" => 11, "timestamp" => 1770030015, "title" => "Are Kid's Foods Better Spicy? (Taste Test)", "upload_date" => "20260202"} 19:19:20.890 [debug] QUERY OK source="sources" db=0.2ms idle=941.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:20.890 [debug] QUERY OK source="sources" db=0.4ms idle=942.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:20.902 [debug] QUERY OK source="media_items" db=11.5ms idle=942.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-02 11:00:15Z], 6] 19:19:20.904 [debug] QUERY OK source="media_items" db=1.2ms idle=954.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we find out if these classic kid's foods are better spicy.\n\nWatch today's GMMORE: https://youtu.be/yM1v0rYl3rg\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2971", "Are Kid's Foods Better Spicy? (Taste Test)", "f39e5a3d-32d9-455b-ae95-52eef143c3d3", 1257, false, "3SO6r0dtth4", "https://www.youtube.com/watch?v=3SO6r0dtth4", 11, "/downloads/Good Mythical Morning/Are Kid's Foods Better Spicy? (Taste Test)/Are Kid's Foods Better Spicy? (Taste Test) [3SO6r0dtth4].mp4", false, false, false, 6, [], 98, ~U[2026-02-02 11:00:15Z], ~U[2026-02-16 19:19:20Z], ~U[2026-02-16 19:19:20Z], "Today we find out if these classic kid's foods are better spicy.\n\nWatch today's GMMORE: https://youtu.be/yM1v0rYl3rg\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2971", "Are Kid's Foods Better Spicy? (Taste Test)", 1257, false, "3SO6r0dtth4", "https://www.youtube.com/watch?v=3SO6r0dtth4", "/downloads/Good Mythical Morning/Are Kid's Foods Better Spicy? (Taste Test)/Are Kid's Foods Better Spicy? (Taste Test) [3SO6r0dtth4].mp4", false, 6, ~U[2026-02-02 11:00:15Z]] 19:19:20.904 [debug] QUERY OK source="sources" db=0.1ms idle=285.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:20.905 [debug] QUERY OK source="media_profiles" db=0.2ms idle=14.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:20.905 [debug] QUERY OK source="media_items" db=0.2ms idle=14.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19544] 19:19:20.905 [debug] Current batch of media processed. Will check again in 1000ms 19:19:21.906 [debug] Current batch of media processed. Will check again in 1000ms 19:19:22.907 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we decide if expensive ingredients make a tastier meal.\n\nWatch today's GMMORE: https://youtu.be/izV8wrXDEoo\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/sZgv5siACnA\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2970", "duration" => 1160, "filename" => "/downloads/Good Mythical Morning/Cheap vs Expensive Grocery Stores (Taste Test)/Cheap vs Expensive Grocery Stores (Taste Test) [K2O11fiynxY].mp4", "id" => "K2O11fiynxY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=K2O11fiynxY", "playlist_index" => 12, "timestamp" => 1769770840, "title" => "Cheap vs Expensive Grocery Stores (Taste Test)", "upload_date" => "20260130"} 19:19:22.908 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=959.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:22.910 [debug] QUERY OK source="sources" db=1.2ms idle=960.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:22.924 [debug] QUERY OK source="media_items" db=14.3ms idle=962.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-30 11:00:40Z], 6] 19:19:22.926 [debug] QUERY OK source="media_items" db=1.4ms idle=976.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we decide if expensive ingredients make a tastier meal.\n\nWatch today's GMMORE: https://youtu.be/izV8wrXDEoo\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/sZgv5siACnA\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2970", "Cheap vs Expensive Grocery Stores (Taste Test)", "e7f208bc-d1dc-4294-a4ca-eb91da9a4488", 1160, false, "K2O11fiynxY", "https://www.youtube.com/watch?v=K2O11fiynxY", 12, "/downloads/Good Mythical Morning/Cheap vs Expensive Grocery Stores (Taste Test)/Cheap vs Expensive Grocery Stores (Taste Test) [K2O11fiynxY].mp4", false, false, false, 6, [], 98, ~U[2026-01-30 11:00:40Z], ~U[2026-02-16 19:19:22Z], ~U[2026-02-16 19:19:22Z], "Today we decide if expensive ingredients make a tastier meal.\n\nWatch today's GMMORE: https://youtu.be/izV8wrXDEoo\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/sZgv5siACnA\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2970", "Cheap vs Expensive Grocery Stores (Taste Test)", 1160, false, "K2O11fiynxY", "https://www.youtube.com/watch?v=K2O11fiynxY", "/downloads/Good Mythical Morning/Cheap vs Expensive Grocery Stores (Taste Test)/Cheap vs Expensive Grocery Stores (Taste Test) [K2O11fiynxY].mp4", false, 6, ~U[2026-01-30 11:00:40Z]] 19:19:22.927 [debug] QUERY OK source="sources" db=0.1ms idle=302.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:22.927 [debug] QUERY OK source="media_profiles" db=0.2ms idle=18.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:22.928 [debug] QUERY OK source="media_items" db=0.2ms idle=17.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18897] 19:19:22.928 [debug] Current batch of media processed. Will check again in 1000ms 19:19:23.929 [debug] Current batch of media processed. Will check again in 1000ms 19:19:24.930 [debug] Current batch of media processed. Will check again in 1000ms 19:19:25.931 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we reimagine iconic food acronyms.\n\nWatch today's GMMORE: https://youtu.be/m9wyccLpH9s\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtBUO6tGEOj3IpbtmFxBPRa\nhttps://youtu.be/NTOACqNOU3o\n\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2969", "duration" => 1273, "filename" => "/downloads/Good Mythical Morning/Don't Eat The Nasty "BLT"/Don't Eat The Nasty "BLT" [oqwWDcXSulA].mp4", "id" => "oqwWDcXSulA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oqwWDcXSulA", "playlist_index" => 13, "timestamp" => 1769684491, "title" => "Don't Eat The Nasty \"BLT\"", "upload_date" => "20260129"} 19:19:25.931 [debug] QUERY OK source="sources" db=0.2ms idle=1983.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:25.932 [debug] QUERY OK source="sources" db=0.3ms idle=1983.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:25.943 [debug] QUERY OK source="media_items" db=10.7ms idle=1984.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 11:01:31Z], 6] 19:19:25.945 [debug] QUERY OK source="media_items" db=1.3ms idle=1316.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we reimagine iconic food acronyms.\n\nWatch today's GMMORE: https://youtu.be/m9wyccLpH9s\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtBUO6tGEOj3IpbtmFxBPRa\nhttps://youtu.be/NTOACqNOU3o\n\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2969", "Don't Eat The Nasty \"BLT\"", "c3f300a4-2aaa-4393-abb1-045b6a790132", 1273, false, "oqwWDcXSulA", "https://www.youtube.com/watch?v=oqwWDcXSulA", 13, "/downloads/Good Mythical Morning/Don't Eat The Nasty "BLT"/Don't Eat The Nasty "BLT" [oqwWDcXSulA].mp4", false, false, false, 6, [], 98, ~U[2026-01-29 11:01:31Z], ~U[2026-02-16 19:19:25Z], ~U[2026-02-16 19:19:25Z], "Today we reimagine iconic food acronyms.\n\nWatch today's GMMORE: https://youtu.be/m9wyccLpH9s\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtBUO6tGEOj3IpbtmFxBPRa\nhttps://youtu.be/NTOACqNOU3o\n\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2969", "Don't Eat The Nasty \"BLT\"", 1273, false, "oqwWDcXSulA", "https://www.youtube.com/watch?v=oqwWDcXSulA", "/downloads/Good Mythical Morning/Don't Eat The Nasty "BLT"/Don't Eat The Nasty "BLT" [oqwWDcXSulA].mp4", false, 6, ~U[2026-01-29 11:01:31Z]] 19:19:25.945 [debug] QUERY OK source="sources" db=0.2ms idle=316.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:25.946 [debug] QUERY OK source="media_profiles" db=0.2ms idle=14.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:25.946 [debug] QUERY OK source="media_items" db=0.3ms idle=14.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18682] 19:19:25.946 [debug] Current batch of media processed. Will check again in 1000ms 19:19:26.947 [debug] Current batch of media processed. Will check again in 1000ms 19:19:27.948 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, we see if food tastes better if it looks like art!\n\nWatch today's GMMORE: https://youtu.be/jxwje6J_H6A\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2968", "duration" => 1245, "filename" => "/downloads/Good Mythical Morning/Does Playing With Food Make It Better?/Does Playing With Food Make It Better? [fx67pb85gpU].mp4", "id" => "fx67pb85gpU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fx67pb85gpU", "playlist_index" => 14, "timestamp" => 1769598076, "title" => "Does Playing With Food Make It Better?", "upload_date" => "20260128"} 19:19:27.949 [debug] QUERY OK source="sources" db=0.1ms idle=1.0e3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:27.949 [debug] QUERY OK source="sources" db=0.1ms idle=1000.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:27.960 [debug] QUERY OK source="media_items" db=10.6ms idle=1000.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-28 11:01:16Z], 6] 19:19:27.986 [debug] QUERY OK source="media_items" db=25.1ms idle=1011.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we see if food tastes better if it looks like art!\n\nWatch today's GMMORE: https://youtu.be/jxwje6J_H6A\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2968", "Does Playing With Food Make It Better?", "6b8531c5-d211-4310-9d62-f469f59ab9d8", 1245, false, "fx67pb85gpU", "https://www.youtube.com/watch?v=fx67pb85gpU", 14, "/downloads/Good Mythical Morning/Does Playing With Food Make It Better?/Does Playing With Food Make It Better? [fx67pb85gpU].mp4", false, false, false, 6, [], 98, ~U[2026-01-28 11:01:16Z], ~U[2026-02-16 19:19:27Z], ~U[2026-02-16 19:19:27Z], "Today, we see if food tastes better if it looks like art!\n\nWatch today's GMMORE: https://youtu.be/jxwje6J_H6A\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2968", "Does Playing With Food Make It Better?", 1245, false, "fx67pb85gpU", "https://www.youtube.com/watch?v=fx67pb85gpU", "/downloads/Good Mythical Morning/Does Playing With Food Make It Better?/Does Playing With Food Make It Better? [fx67pb85gpU].mp4", false, 6, ~U[2026-01-28 11:01:16Z]] 19:19:27.986 [debug] QUERY OK source="sources" db=0.2ms idle=346.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:27.986 [debug] QUERY OK source="media_profiles" db=0.2ms idle=37.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:27.987 [debug] QUERY OK source="media_items" db=0.3ms idle=37.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18466] 19:19:27.987 [debug] Current batch of media processed. Will check again in 1000ms 19:19:28.988 [debug] Current batch of media processed. Will check again in 1000ms 19:19:29.989 [debug] Current batch of media processed. Will check again in 1000ms 19:19:30.991 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we attempt to pull off https://www.youtube.com/@dudeperfect style trick shots!\n\nWatch today's GMMORE: https://youtu.be/0c6qqh-9few\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com\n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtfUpSfPjC1Gma1G9Sv8gQq\nhttps://youtu.be/dX_mdg0zmHM\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2967", "duration" => 1582, "filename" => "/downloads/Good Mythical Morning/Food Trick Shot Battle (ft. Dude Perfect)/Food Trick Shot Battle (ft. Dude Perfect) [wNSaKGpe7JY].mp4", "id" => "wNSaKGpe7JY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wNSaKGpe7JY", "playlist_index" => 15, "timestamp" => 1769511703, "title" => "Food Trick Shot Battle (ft. Dude Perfect)", "upload_date" => "20260127"} 19:19:30.992 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1043.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:30.994 [debug] QUERY OK source="sources" db=0.9ms queue=0.8ms idle=1045.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:31.026 [debug] QUERY OK source="media_items" db=31.4ms queue=0.1ms idle=1047.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-27 11:01:43Z], 6] 19:19:31.038 [debug] QUERY OK source="media_items" db=10.1ms idle=1079.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we attempt to pull off https://www.youtube.com/@dudeperfect style trick shots!\n\nWatch today's GMMORE: https://youtu.be/0c6qqh-9few\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com\n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtfUpSfPjC1Gma1G9Sv8gQq\nhttps://youtu.be/dX_mdg0zmHM\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2967", "Food Trick Shot Battle (ft. Dude Perfect)", "65a82589-ae4e-4aa1-a2f2-2bc23ab5e4c2", 1582, false, "wNSaKGpe7JY", "https://www.youtube.com/watch?v=wNSaKGpe7JY", 15, "/downloads/Good Mythical Morning/Food Trick Shot Battle (ft. Dude Perfect)/Food Trick Shot Battle (ft. Dude Perfect) [wNSaKGpe7JY].mp4", false, false, false, 6, [], 98, ~U[2026-01-27 11:01:43Z], ~U[2026-02-16 19:19:31Z], ~U[2026-02-16 19:19:31Z], "Today we attempt to pull off https://www.youtube.com/@dudeperfect style trick shots!\n\nWatch today's GMMORE: https://youtu.be/0c6qqh-9few\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com\n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtfUpSfPjC1Gma1G9Sv8gQq\nhttps://youtu.be/dX_mdg0zmHM\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2967", "Food Trick Shot Battle (ft. Dude Perfect)", 1582, false, "wNSaKGpe7JY", "https://www.youtube.com/watch?v=wNSaKGpe7JY", "/downloads/Good Mythical Morning/Food Trick Shot Battle (ft. Dude Perfect)/Food Trick Shot Battle (ft. Dude Perfect) [wNSaKGpe7JY].mp4", false, 6, ~U[2026-01-27 11:01:43Z]] 19:19:31.038 [debug] QUERY OK source="sources" db=0.5ms idle=389.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:31.039 [debug] QUERY OK source="media_profiles" db=0.4ms idle=46.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:31.040 [debug] QUERY OK source="media_items" db=0.6ms idle=44.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18249] 19:19:31.040 [debug] Current batch of media processed. Will check again in 1000ms 19:19:32.041 [debug] Current batch of media processed. Will check again in 1000ms 19:19:33.042 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we rank different pizzas, blindfolded!\n\nWatch today's GMMORE: https://youtu.be/9Wl4PR6xgeQ\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/oumKoEgvAUc\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2966", "duration" => 912, "filename" => "/downloads/Good Mythical Morning/Blind Pizza Taste Test/Blind Pizza Taste Test [RgM-E3jwPhM].mp4", "id" => "RgM-E3jwPhM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RgM-E3jwPhM", "playlist_index" => 16, "timestamp" => 1769425246, "title" => "Blind Pizza Taste Test", "upload_date" => "20260126"} 19:19:33.042 [debug] QUERY OK source="sources" db=0.2ms idle=390.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:33.043 [debug] QUERY OK source="sources" db=0.1ms idle=94.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:33.054 [debug] QUERY OK source="media_items" db=11.1ms idle=95.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-26 11:00:46Z], 6] 19:19:33.056 [debug] QUERY OK source="media_items" db=1.3ms idle=106.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we rank different pizzas, blindfolded!\n\nWatch today's GMMORE: https://youtu.be/9Wl4PR6xgeQ\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/oumKoEgvAUc\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2966", "Blind Pizza Taste Test", "3b42c085-926d-41e3-ad16-825c95f77886", 912, false, "RgM-E3jwPhM", "https://www.youtube.com/watch?v=RgM-E3jwPhM", 16, "/downloads/Good Mythical Morning/Blind Pizza Taste Test/Blind Pizza Taste Test [RgM-E3jwPhM].mp4", false, false, false, 6, [], 98, ~U[2026-01-26 11:00:46Z], ~U[2026-02-16 19:19:33Z], ~U[2026-02-16 19:19:33Z], "Today we rank different pizzas, blindfolded!\n\nWatch today's GMMORE: https://youtu.be/9Wl4PR6xgeQ\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/oumKoEgvAUc\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2966", "Blind Pizza Taste Test", 912, false, "RgM-E3jwPhM", "https://www.youtube.com/watch?v=RgM-E3jwPhM", "/downloads/Good Mythical Morning/Blind Pizza Taste Test/Blind Pizza Taste Test [RgM-E3jwPhM].mp4", false, 6, ~U[2026-01-26 11:00:46Z]] 19:19:33.057 [debug] QUERY OK source="sources" db=0.3ms idle=108.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:33.057 [debug] QUERY OK source="media_profiles" db=0.2ms idle=14.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:33.058 [debug] QUERY OK source="media_items" db=0.3ms idle=14.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18032] 19:19:33.058 [debug] Current batch of media processed. Will check again in 1000ms 19:19:34.059 [debug] Current batch of media processed. Will check again in 1000ms 19:19:34.848 [info] {"source":"oban","duration":1670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:35.060 [debug] Current batch of media processed. Will check again in 1000ms 19:19:36.061 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, we answer the question is the best part of food the middle?\n\nWatch today's GMMORE: https://youtu.be/B8Sn6Uoy17w\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvVm6IJHIOEuX6WU1fcFFLF\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2965", "duration" => 1487, "filename" => "/downloads/Good Mythical Morning/Is The Middle The Best Bite? (Taste Test)/Is The Middle The Best Bite? (Taste Test) [CYx9xhoSFgE].mp4", "id" => "CYx9xhoSFgE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CYx9xhoSFgE", "playlist_index" => 17, "timestamp" => 1769166031, "title" => "Is The Middle The Best Bite? (Taste Test)", "upload_date" => "20260123"} 19:19:36.062 [debug] QUERY OK source="sources" db=0.2ms idle=1113.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:36.062 [debug] QUERY OK source="sources" db=0.1ms idle=1114.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:36.081 [debug] QUERY OK source="media_items" db=19.1ms idle=1114.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-23 11:00:31Z], 6] 19:19:36.086 [debug] QUERY OK source="media_items" db=3.6ms idle=421.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we answer the question is the best part of food the middle?\n\nWatch today's GMMORE: https://youtu.be/B8Sn6Uoy17w\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvVm6IJHIOEuX6WU1fcFFLF\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2965", "Is The Middle The Best Bite? (Taste Test)", "20eb4649-f279-4166-a1d6-ef6cbb30504e", 1487, false, "CYx9xhoSFgE", "https://www.youtube.com/watch?v=CYx9xhoSFgE", 17, "/downloads/Good Mythical Morning/Is The Middle The Best Bite? (Taste Test)/Is The Middle The Best Bite? (Taste Test) [CYx9xhoSFgE].mp4", false, false, false, 6, [], 98, ~U[2026-01-23 11:00:31Z], ~U[2026-02-16 19:19:36Z], ~U[2026-02-16 19:19:36Z], "Today, we answer the question is the best part of food the middle?\n\nWatch today's GMMORE: https://youtu.be/B8Sn6Uoy17w\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvVm6IJHIOEuX6WU1fcFFLF\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2965", "Is The Middle The Best Bite? (Taste Test)", 1487, false, "CYx9xhoSFgE", "https://www.youtube.com/watch?v=CYx9xhoSFgE", "/downloads/Good Mythical Morning/Is The Middle The Best Bite? (Taste Test)/Is The Middle The Best Bite? (Taste Test) [CYx9xhoSFgE].mp4", false, 6, ~U[2026-01-23 11:00:31Z]] 19:19:36.088 [debug] QUERY OK source="sources" db=1.7ms idle=138.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:36.090 [debug] QUERY OK source="media_profiles" db=1.4ms idle=27.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:36.093 [debug] QUERY OK source="media_items" db=2.7ms idle=28.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3233] 19:19:36.093 [debug] Current batch of media processed. Will check again in 1000ms 19:19:37.095 [debug] Current batch of media processed. Will check again in 1000ms 19:19:38.096 [debug] Current batch of media processed. Will check again in 1000ms 19:19:39.097 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we find out if we can find Rhett a new best friend.\n\nWatch today's GMMORE: https://youtu.be/GNrrL2eEKUY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/3YA7wi5ZGSQ\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2964", "duration" => 1386, "filename" => "/downloads/Good Mythical Morning/Should We Replace Link?/Should We Replace Link? [DQXrnVK2C9A].mp4", "id" => "DQXrnVK2C9A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DQXrnVK2C9A", "playlist_index" => 18, "timestamp" => 1769079620, "title" => "Should We Replace Link?", "upload_date" => "20260122"} 19:19:39.099 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1150.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:39.101 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=1151.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:40.676 [debug] QUERY OK source="media_items" db=1574.4ms queue=0.1ms idle=1153.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 11:00:20Z], 6] 19:19:40.681 [debug] QUERY OK source="media_items" db=4.7ms idle=1575.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we find out if we can find Rhett a new best friend.\n\nWatch today's GMMORE: https://youtu.be/GNrrL2eEKUY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/3YA7wi5ZGSQ\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2964", "Should We Replace Link?", "6ae55528-b782-4472-84a4-c361631a188d", 1386, false, "DQXrnVK2C9A", "https://www.youtube.com/watch?v=DQXrnVK2C9A", 18, "/downloads/Good Mythical Morning/Should We Replace Link?/Should We Replace Link? [DQXrnVK2C9A].mp4", false, false, false, 6, [], 97, ~U[2026-01-22 11:00:20Z], ~U[2026-02-16 19:19:40Z], ~U[2026-02-16 19:19:40Z], "Today we find out if we can find Rhett a new best friend.\n\nWatch today's GMMORE: https://youtu.be/GNrrL2eEKUY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/3YA7wi5ZGSQ\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2964", "Should We Replace Link?", 1386, false, "DQXrnVK2C9A", "https://www.youtube.com/watch?v=DQXrnVK2C9A", "/downloads/Good Mythical Morning/Should We Replace Link?/Should We Replace Link? [DQXrnVK2C9A].mp4", false, 6, ~U[2026-01-22 11:00:20Z]] 19:19:40.682 [debug] QUERY OK source="sources" db=0.2ms idle=1011.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:40.682 [debug] QUERY OK source="media_profiles" db=0.3ms idle=734.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:40.683 [debug] QUERY OK source="media_items" db=0.2ms idle=10.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3234] 19:19:40.683 [debug] Current batch of media processed. Will check again in 1000ms 19:19:41.684 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, we determine which is the best way to cook your food, microwave vs. oven.\n\nWatch today's GMMORE: https://youtu.be/zwIQ4ZUWKeA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR \n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2963", "duration" => 1358, "filename" => "/downloads/Good Mythical Morning/Microwave vs. Oven Taste Test/Microwave vs. Oven Taste Test [mYgtvcdT6vM].mp4", "id" => "mYgtvcdT6vM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mYgtvcdT6vM", "playlist_index" => 19, "timestamp" => 1768993293, "title" => "Microwave vs. Oven Taste Test", "upload_date" => "20260121"} 19:19:41.685 [debug] QUERY OK source="sources" db=0.2ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:41.686 [debug] QUERY OK source="sources" db=0.5ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:41.701 [debug] QUERY OK source="media_items" db=15.5ms idle=1003.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-21 11:01:33Z], 6] 19:19:41.708 [debug] QUERY OK source="media_items" db=5.8ms idle=1018.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we determine which is the best way to cook your food, microwave vs. oven.\n\nWatch today's GMMORE: https://youtu.be/zwIQ4ZUWKeA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR \n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2963", "Microwave vs. Oven Taste Test", "999d78a7-2c4e-4b42-b03c-ded060568aa2", 1358, false, "mYgtvcdT6vM", "https://www.youtube.com/watch?v=mYgtvcdT6vM", 19, "/downloads/Good Mythical Morning/Microwave vs. Oven Taste Test/Microwave vs. Oven Taste Test [mYgtvcdT6vM].mp4", false, false, false, 6, [], 98, ~U[2026-01-21 11:01:33Z], ~U[2026-02-16 19:19:41Z], ~U[2026-02-16 19:19:41Z], "Today, we determine which is the best way to cook your food, microwave vs. oven.\n\nWatch today's GMMORE: https://youtu.be/zwIQ4ZUWKeA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR \n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2963", "Microwave vs. Oven Taste Test", 1358, false, "mYgtvcdT6vM", "https://www.youtube.com/watch?v=mYgtvcdT6vM", "/downloads/Good Mythical Morning/Microwave vs. Oven Taste Test/Microwave vs. Oven Taste Test [mYgtvcdT6vM].mp4", false, 6, ~U[2026-01-21 11:01:33Z]] 19:19:41.709 [debug] QUERY OK source="sources" db=0.3ms idle=33.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:41.710 [debug] QUERY OK source="media_profiles" db=0.7ms idle=24.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:41.711 [debug] QUERY OK source="media_items" db=0.7ms idle=24.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3237] 19:19:41.711 [debug] Current batch of media processed. Will check again in 1000ms 19:19:42.712 [debug] Current batch of media processed. Will check again in 1000ms 19:19:43.153 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@GoodMythicalMorning --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Good Mythical Morning/%(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/f3/48/f348aab7ad93099526cc5c9620a7b8fc8ae5417395cec9b87ffca50c93d11091.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/6e/d8/6ed80f17a9c9b575602ed02bbcb2b1530b72daf795b3cd35988cb406ba78fecd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 19:19:43.154 [debug] Gracefully stopping file follower 19:19:43.154 [debug] QUERY OK source="sources" db=0.3ms idle=475.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 19:19:43.155 [debug] QUERY OK source="sources" db=0.1ms idle=206.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.167 [debug] QUERY OK source="media_items" db=11.6ms idle=207.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-16 11:00:40Z], 6] 19:19:43.169 [debug] QUERY OK source="media_items" db=2.2ms idle=219.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we compare American and Japanese 7-Eleven snacks. Head to https://drinkag1.com/mythical to get FREE AG1 & AGZ Travel Packs, Vitamin D3+K2, and AG1 Welcome Kit when you first subscribe.\n\nWatch today's GMMORE: https://youtu.be/kFCPdpsCaAc\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt19Zo-4AvqCzCg2K1-dRSg\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2981", "Japanese vs. American 7-Eleven (Taste Test)", "ff153337-08f6-4119-90b7-baeec63f6590", 1854, false, "QH1pZ2wttDk", "https://www.youtube.com/watch?v=QH1pZ2wttDk", 1, "/downloads/Good Mythical Morning/Japanese vs. American 7-Eleven (Taste Test)/Japanese vs. American 7-Eleven (Taste Test) [QH1pZ2wttDk].mp4", false, false, false, 6, [], 98, ~U[2026-02-16 11:00:40Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today we compare American and Japanese 7-Eleven snacks. Head to https://drinkag1.com/mythical to get FREE AG1 & AGZ Travel Packs, Vitamin D3+K2, and AG1 Welcome Kit when you first subscribe.\n\nWatch today's GMMORE: https://youtu.be/kFCPdpsCaAc\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt19Zo-4AvqCzCg2K1-dRSg\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2981", "Japanese vs. American 7-Eleven (Taste Test)", 1854, false, "QH1pZ2wttDk", "https://www.youtube.com/watch?v=QH1pZ2wttDk", "/downloads/Good Mythical Morning/Japanese vs. American 7-Eleven (Taste Test)/Japanese vs. American 7-Eleven (Taste Test) [QH1pZ2wttDk].mp4", false, 6, ~U[2026-02-16 11:00:40Z]] 19:19:43.170 [debug] QUERY OK source="sources" db=0.1ms idle=221.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.182 [debug] QUERY OK source="media_items" db=11.6ms idle=15.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-13 11:00:21Z], 6] 19:19:43.187 [debug] QUERY OK source="media_items" db=4.2ms idle=27.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see what's better cocktail candies or candy cocktails. Help us send Stevie off with the fondest, most Mythical farewell possible! https://Mythical.com/Stevie\n\nWatch today's GMMORE: https://youtu.be/qxg2_CA8Z7Y\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2980", "Candy Cocktails vs Cocktail Candies Taste Test", "44b34c0f-f5b9-4e9a-b437-4f8d931782ce", 1808, false, "E4aDp87hLbE", "https://www.youtube.com/watch?v=E4aDp87hLbE", 2, "/downloads/Good Mythical Morning/Candy Cocktails vs Cocktail Candies Taste Test/Candy Cocktails vs Cocktail Candies Taste Test [E4aDp87hLbE].mp4", false, false, false, 6, [], 98, ~U[2026-02-13 11:00:21Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today we see what's better cocktail candies or candy cocktails. Help us send Stevie off with the fondest, most Mythical farewell possible! https://Mythical.com/Stevie\n\nWatch today's GMMORE: https://youtu.be/qxg2_CA8Z7Y\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2980", "Candy Cocktails vs Cocktail Candies Taste Test", 1808, false, "E4aDp87hLbE", "https://www.youtube.com/watch?v=E4aDp87hLbE", "/downloads/Good Mythical Morning/Candy Cocktails vs Cocktail Candies Taste Test/Candy Cocktails vs Cocktail Candies Taste Test [E4aDp87hLbE].mp4", false, 6, ~U[2026-02-13 11:00:21Z]] 19:19:43.188 [debug] QUERY OK source="sources" db=1.3ms idle=20.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.200 [debug] QUERY OK source="media_items" db=11.4ms idle=19.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 11:00:30Z], 6] 19:19:43.204 [debug] QUERY OK source="media_items" db=3.1ms idle=30.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we find out which gourmet dog food tastes the best!\n\nWatch today's GMMORE: https://youtu.be/fQXlbkhOHTA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvzyYLLkhoyqe51ptzxCROA\nhttps://youtu.be/Q5AbAM9ZEio\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2979", "Is This Dog Food Good Enough For People?", "a562c67d-6b0e-4535-be8c-56a9b55b6fb5", 1182, false, "IU1q9kAhywM", "https://www.youtube.com/watch?v=IU1q9kAhywM", 3, "/downloads/Good Mythical Morning/Is This Dog Food Good Enough For People?/Is This Dog Food Good Enough For People? [IU1q9kAhywM].mp4", false, false, false, 6, [], 98, ~U[2026-02-12 11:00:30Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today we find out which gourmet dog food tastes the best!\n\nWatch today's GMMORE: https://youtu.be/fQXlbkhOHTA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvzyYLLkhoyqe51ptzxCROA\nhttps://youtu.be/Q5AbAM9ZEio\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2979", "Is This Dog Food Good Enough For People?", 1182, false, "IU1q9kAhywM", "https://www.youtube.com/watch?v=IU1q9kAhywM", "/downloads/Good Mythical Morning/Is This Dog Food Good Enough For People?/Is This Dog Food Good Enough For People? [IU1q9kAhywM].mp4", false, 6, ~U[2026-02-12 11:00:30Z]] 19:19:43.205 [debug] QUERY OK source="sources" db=1.3ms idle=22.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.217 [debug] QUERY OK source="media_items" db=11.2ms idle=19.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-11 11:00:32Z], 6] 19:19:43.248 [debug] QUERY OK source="media_items" db=30.5ms idle=28.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we try to guess the snack from our vending machine. Thank you to Mint Mobile for partnering with us on this video! And for a limited time, you can get 50% off an unlimited premium wireless plan from Mint by visiting https://mintmobile.yt.link/tz4hghi. Lock in Mint’s lowest price of the year and pay just $15/mo for a 3, 6, or 12 month plan. Limited time offer. Upfront payment of: $45 for 3-mo., $90 for 6-mo., or $180 for 12-mo. plan req’d ($15/mo. equiv.). Taxes & fees extra. Initial plan term only. 50GB or more may slow when network is busy. Capable device req'd. Availability, speed & coverage varies. See https://mintmobile.yt.link/tz4hghi \n\nWatch today's GMMORE: https://youtu.be/FJLROFDDgXY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsl9Dhl6n4bPlNsb6h-2Bm-\n\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2978", "Guess The Mystery Vending Machine Snack", "20ed82e3-498c-4186-8a78-b75a30097b50", 1775, false, "G0lBo0mWl4o", "https://www.youtube.com/watch?v=G0lBo0mWl4o", 4, "/downloads/Good Mythical Morning/Guess The Mystery Vending Machine Snack/Guess The Mystery Vending Machine Snack [G0lBo0mWl4o].mp4", false, false, false, 6, [], 98, ~U[2026-02-11 11:00:32Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today, we try to guess the snack from our vending machine. Thank you to Mint Mobile for partnering with us on this video! And for a limited time, you can get 50% off an unlimited premium wireless plan from Mint by visiting https://mintmobile.yt.link/tz4hghi. Lock in Mint’s lowest price of the year and pay just $15/mo for a 3, 6, or 12 month plan. Limited time offer. Upfront payment of: $45 for 3-mo., $90 for 6-mo., or $180 for 12-mo. plan req’d ($15/mo. equiv.). Taxes & fees extra. Initial plan term only. 50GB or more may slow when network is busy. Capable device req'd. Availability, speed & coverage varies. See https://mintmobile.yt.link/tz4hghi \n\nWatch today's GMMORE: https://youtu.be/FJLROFDDgXY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsl9Dhl6n4bPlNsb6h-2Bm-\n\n\nCheck Out Our Other Mythical Channels:\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2978", "Guess The Mystery Vending Machine Snack", 1775, false, "G0lBo0mWl4o", "https://www.youtube.com/watch?v=G0lBo0mWl4o", "/downloads/Good Mythical Morning/Guess The Mystery Vending Machine Snack/Guess The Mystery Vending Machine Snack [G0lBo0mWl4o].mp4", false, 6, ~U[2026-02-11 11:00:32Z]] 19:19:43.249 [debug] QUERY OK source="sources" db=1.1ms idle=48.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.260 [debug] QUERY OK source="media_items" db=9.9ms idle=46.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-10 11:01:27Z], 6] 19:19:43.263 [debug] QUERY OK source="media_items" db=2.6ms idle=54.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see what the most expensive products are at a drugstore.\n\nWatch today's GMMORE: https://youtu.be/UMc5scZm_Rc\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2977", "Are These Drugstore Products Worth It?", "227e4829-4746-4a83-9e21-0106fbc58f6a", 1676, false, "qgNwW-oVjv8", "https://www.youtube.com/watch?v=qgNwW-oVjv8", 5, "/downloads/Good Mythical Morning/Are These Drugstore Products Worth It?/Are These Drugstore Products Worth It? [qgNwW-oVjv8].mp4", false, false, false, 6, [], 98, ~U[2026-02-10 11:01:27Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today we see what the most expensive products are at a drugstore.\n\nWatch today's GMMORE: https://youtu.be/UMc5scZm_Rc\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2977", "Are These Drugstore Products Worth It?", 1676, false, "qgNwW-oVjv8", "https://www.youtube.com/watch?v=qgNwW-oVjv8", "/downloads/Good Mythical Morning/Are These Drugstore Products Worth It?/Are These Drugstore Products Worth It? [qgNwW-oVjv8].mp4", false, 6, ~U[2026-02-10 11:01:27Z]] 19:19:43.264 [debug] QUERY OK source="sources" db=1.2ms idle=46.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.275 [debug] QUERY OK source="media_items" db=10.5ms idle=16.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-09 11:00:17Z], 6] 19:19:43.278 [debug] QUERY OK source="media_items" db=2.4ms idle=25.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see how different sub sandwiches taste throughout the world.\n\nWatch today's GMMORE: https://youtu.be/GFtZdJm-oao\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/ZBnWL5f_N2I\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2976", "International Subway Taste Test", "bacb444e-67b5-4556-94bb-7060343ee263", 1247, false, "4ecTqrjBtBo", "https://www.youtube.com/watch?v=4ecTqrjBtBo", 6, "/downloads/Good Mythical Morning/International Subway Taste Test/International Subway Taste Test [4ecTqrjBtBo].mp4", false, false, false, 6, [], 98, ~U[2026-02-09 11:00:17Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today we see how different sub sandwiches taste throughout the world.\n\nWatch today's GMMORE: https://youtu.be/GFtZdJm-oao\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/ZBnWL5f_N2I\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2976", "International Subway Taste Test", 1247, false, "4ecTqrjBtBo", "https://www.youtube.com/watch?v=4ecTqrjBtBo", "/downloads/Good Mythical Morning/International Subway Taste Test/International Subway Taste Test [4ecTqrjBtBo].mp4", false, 6, ~U[2026-02-09 11:00:17Z]] 19:19:43.280 [debug] QUERY OK source="sources" db=1.2ms idle=18.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.290 [debug] QUERY OK source="media_items" db=10.5ms idle=17.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-06 11:00:16Z], 6] 19:19:43.296 [debug] QUERY OK source="media_items" db=5.1ms idle=26.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we put our taste buds to the taste and see how refined our palates are!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nWatch today's GMMORE: https://youtu.be/DX_qURN9gps\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2975", "Award-Winning Snacks Taste Test", "4ea6e9fd-da1a-4a6c-bcd0-f65a1609e206", 1499, false, "AF_UTF0DPcU", "https://www.youtube.com/watch?v=AF_UTF0DPcU", 7, "/downloads/Good Mythical Morning/Award-Winning Snacks Taste Test/Award-Winning Snacks Taste Test [AF_UTF0DPcU].mp4", false, false, false, 6, [], 98, ~U[2026-02-06 11:00:16Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today we put our taste buds to the taste and see how refined our palates are!\n\nWe’re donating $1,000 to Community Coalition - South LA, to aid in their mission to empower South LA communities through education equity, Black student achievement, police-free schools, anti-criminalization efforts and community-led art and civic engagement. Please join us in giving at https://COCOSOUTHLA.ORG\n\nWatch today's GMMORE: https://youtu.be/DX_qURN9gps\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2975", "Award-Winning Snacks Taste Test", 1499, false, "AF_UTF0DPcU", "https://www.youtube.com/watch?v=AF_UTF0DPcU", "/downloads/Good Mythical Morning/Award-Winning Snacks Taste Test/Award-Winning Snacks Taste Test [AF_UTF0DPcU].mp4", false, 6, ~U[2026-02-06 11:00:16Z]] 19:19:43.298 [debug] QUERY OK source="sources" db=1.2ms idle=21.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.308 [debug] QUERY OK source="media_items" db=10.4ms idle=19.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 11:01:30Z], 6] 19:19:43.311 [debug] QUERY OK source="media_items" db=2.3ms idle=28.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, come check out our unclaimed mail haul!\n\nWatch today's GMMORE: https://youtu.be/Ekl2CF3X658\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttruBXEcNJLAiLSlbL9VEoq0D\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/gZab-J6PQx8\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2974", "Unboxing Other People's Lost Mail", "61334a7f-b55f-48e5-8074-624f265c0a00", 1628, false, "kyPfXI4-mpQ", "https://www.youtube.com/watch?v=kyPfXI4-mpQ", 8, "/downloads/Good Mythical Morning/Unboxing Other People's Lost Mail/Unboxing Other People's Lost Mail [kyPfXI4-mpQ].mp4", false, false, false, 6, [], 98, ~U[2026-02-05 11:01:30Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today, come check out our unclaimed mail haul!\n\nWatch today's GMMORE: https://youtu.be/Ekl2CF3X658\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttruBXEcNJLAiLSlbL9VEoq0D\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/gZab-J6PQx8\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2974", "Unboxing Other People's Lost Mail", 1628, false, "kyPfXI4-mpQ", "https://www.youtube.com/watch?v=kyPfXI4-mpQ", "/downloads/Good Mythical Morning/Unboxing Other People's Lost Mail/Unboxing Other People's Lost Mail [kyPfXI4-mpQ].mp4", false, 6, ~U[2026-02-05 11:01:30Z]] 19:19:43.313 [debug] QUERY OK source="sources" db=1.2ms idle=20.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.324 [debug] QUERY OK source="media_items" db=10.7ms idle=16.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-04 11:01:13Z], 6] 19:19:43.327 [debug] QUERY OK source="media_items" db=3.2ms idle=26.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we see if fancy food has a place in our favorite comfort foods. 🍒 Try the NEW limited-edition Shirley Temple OLIPOP! A brighter, bolder twist on the classic mocktail — made with real ingredients, low sugar, and a functional blend that supports digestive health. Get your free can at https://olipop.yt.link/YtGGDvp — buy any 2 cans in store and OLIPOP will pay you back for one!\n\nWatch today's GMMORE: https://youtu.be/DPCQlYYHxsk\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt19Zo-4AvqCzCg2K1-dRSg\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2973", "Fancy Comfort Food Taste Test", "4acf2313-da75-4932-aec3-c3f0c5c25f19", 2274, false, "hdaB8NMXN88", "https://www.youtube.com/watch?v=hdaB8NMXN88", 9, "/downloads/Good Mythical Morning/Fancy Comfort Food Taste Test/Fancy Comfort Food Taste Test [hdaB8NMXN88].mp4", false, false, false, 6, [], 98, ~U[2026-02-04 11:01:13Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today we see if fancy food has a place in our favorite comfort foods. 🍒 Try the NEW limited-edition Shirley Temple OLIPOP! A brighter, bolder twist on the classic mocktail — made with real ingredients, low sugar, and a functional blend that supports digestive health. Get your free can at https://olipop.yt.link/YtGGDvp — buy any 2 cans in store and OLIPOP will pay you back for one!\n\nWatch today's GMMORE: https://youtu.be/DPCQlYYHxsk\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt19Zo-4AvqCzCg2K1-dRSg\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2973", "Fancy Comfort Food Taste Test", 2274, false, "hdaB8NMXN88", "https://www.youtube.com/watch?v=hdaB8NMXN88", "/downloads/Good Mythical Morning/Fancy Comfort Food Taste Test/Fancy Comfort Food Taste Test [hdaB8NMXN88].mp4", false, 6, ~U[2026-02-04 11:01:13Z]] 19:19:43.329 [debug] QUERY OK source="sources" db=1.2ms idle=19.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.339 [debug] QUERY OK source="media_items" db=10.3ms idle=18.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-03 11:01:33Z], 6] 19:19:43.343 [debug] QUERY OK source="media_items" db=3.2ms idle=27.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we compare Dollar Tree products to expensive ones and see which can withstand our rage better.\n\nWatch today's GMMORE: https://youtu.be/JVvyzoKjOIY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/QBuQQPF2qO0\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2972", "How Durable Are Dollar Store Products?", "9408e137-cca5-49b5-b46b-aed32f7ca0a0", 1317, false, "qst5sTpZONc", "https://www.youtube.com/watch?v=qst5sTpZONc", 10, "/downloads/Good Mythical Morning/How Durable Are Dollar Store Products?/How Durable Are Dollar Store Products? [qst5sTpZONc].mp4", false, false, false, 6, [], 98, ~U[2026-02-03 11:01:33Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today, we compare Dollar Tree products to expensive ones and see which can withstand our rage better.\n\nWatch today's GMMORE: https://youtu.be/JVvyzoKjOIY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://youtu.be/QBuQQPF2qO0\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2972", "How Durable Are Dollar Store Products?", 1317, false, "qst5sTpZONc", "https://www.youtube.com/watch?v=qst5sTpZONc", "/downloads/Good Mythical Morning/How Durable Are Dollar Store Products?/How Durable Are Dollar Store Products? [qst5sTpZONc].mp4", false, 6, ~U[2026-02-03 11:01:33Z]] 19:19:43.345 [debug] QUERY OK source="sources" db=1.2ms idle=19.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.356 [debug] QUERY OK source="media_items" db=10.6ms idle=17.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-02 11:00:15Z], 6] 19:19:43.358 [debug] QUERY OK source="media_items" db=1.7ms idle=27.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we find out if these classic kid's foods are better spicy.\n\nWatch today's GMMORE: https://youtu.be/yM1v0rYl3rg\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2971", "Are Kid's Foods Better Spicy? (Taste Test)", "0f57070c-7bfd-4b03-92f0-86f27039e459", 1257, false, "3SO6r0dtth4", "https://www.youtube.com/watch?v=3SO6r0dtth4", 11, "/downloads/Good Mythical Morning/Are Kid's Foods Better Spicy? (Taste Test)/Are Kid's Foods Better Spicy? (Taste Test) [3SO6r0dtth4].mp4", false, false, false, 6, [], 98, ~U[2026-02-02 11:00:15Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today we find out if these classic kid's foods are better spicy.\n\nWatch today's GMMORE: https://youtu.be/yM1v0rYl3rg\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nSign up for Mythical newsletters to stay up to date on all things Mythical and get 10% off your first order at the Mythical Store. Sign up now: https://Mythical.com/Newsletter \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2971", "Are Kid's Foods Better Spicy? (Taste Test)", 1257, false, "3SO6r0dtth4", "https://www.youtube.com/watch?v=3SO6r0dtth4", "/downloads/Good Mythical Morning/Are Kid's Foods Better Spicy? (Taste Test)/Are Kid's Foods Better Spicy? (Taste Test) [3SO6r0dtth4].mp4", false, 6, ~U[2026-02-02 11:00:15Z]] 19:19:43.360 [debug] QUERY OK source="sources" db=1.4ms idle=18.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.371 [debug] QUERY OK source="media_items" db=11.2ms idle=16.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-30 11:00:40Z], 6] 19:19:43.375 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=26.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we decide if expensive ingredients make a tastier meal.\n\nWatch today's GMMORE: https://youtu.be/izV8wrXDEoo\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/sZgv5siACnA\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2970", "Cheap vs Expensive Grocery Stores (Taste Test)", "1e444fdf-9053-4cba-ba81-b98c7aa2f868", 1160, false, "K2O11fiynxY", "https://www.youtube.com/watch?v=K2O11fiynxY", 12, "/downloads/Good Mythical Morning/Cheap vs Expensive Grocery Stores (Taste Test)/Cheap vs Expensive Grocery Stores (Taste Test) [K2O11fiynxY].mp4", false, false, false, 6, [], 98, ~U[2026-01-30 11:00:40Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today we decide if expensive ingredients make a tastier meal.\n\nWatch today's GMMORE: https://youtu.be/izV8wrXDEoo\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/sZgv5siACnA\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2970", "Cheap vs Expensive Grocery Stores (Taste Test)", 1160, false, "K2O11fiynxY", "https://www.youtube.com/watch?v=K2O11fiynxY", "/downloads/Good Mythical Morning/Cheap vs Expensive Grocery Stores (Taste Test)/Cheap vs Expensive Grocery Stores (Taste Test) [K2O11fiynxY].mp4", false, 6, ~U[2026-01-30 11:00:40Z]] 19:19:43.377 [debug] QUERY OK source="sources" db=1.9ms idle=19.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.390 [debug] QUERY OK source="media_items" db=12.9ms idle=19.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 11:01:31Z], 6] 19:19:43.394 [debug] QUERY OK source="media_items" db=2.4ms idle=31.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we reimagine iconic food acronyms.\n\nWatch today's GMMORE: https://youtu.be/m9wyccLpH9s\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtBUO6tGEOj3IpbtmFxBPRa\nhttps://youtu.be/NTOACqNOU3o\n\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2969", "Don't Eat The Nasty \"BLT\"", "2aacd2a9-86ea-4c85-b0a5-375c5bb37300", 1273, false, "oqwWDcXSulA", "https://www.youtube.com/watch?v=oqwWDcXSulA", 13, "/downloads/Good Mythical Morning/Don't Eat The Nasty "BLT"/Don't Eat The Nasty "BLT" [oqwWDcXSulA].mp4", false, false, false, 6, [], 98, ~U[2026-01-29 11:01:31Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today we reimagine iconic food acronyms.\n\nWatch today's GMMORE: https://youtu.be/m9wyccLpH9s\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtBUO6tGEOj3IpbtmFxBPRa\nhttps://youtu.be/NTOACqNOU3o\n\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2969", "Don't Eat The Nasty \"BLT\"", 1273, false, "oqwWDcXSulA", "https://www.youtube.com/watch?v=oqwWDcXSulA", "/downloads/Good Mythical Morning/Don't Eat The Nasty "BLT"/Don't Eat The Nasty "BLT" [oqwWDcXSulA].mp4", false, 6, ~U[2026-01-29 11:01:31Z]] 19:19:43.396 [debug] QUERY OK source="sources" db=1.4ms idle=23.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.407 [debug] QUERY OK source="media_items" db=11.0ms idle=21.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-28 11:01:16Z], 6] 19:19:43.410 [debug] QUERY OK source="media_items" db=2.2ms idle=30.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we see if food tastes better if it looks like art!\n\nWatch today's GMMORE: https://youtu.be/jxwje6J_H6A\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2968", "Does Playing With Food Make It Better?", "a805d993-2dda-4ad6-b22e-6dbf1e8ea1ff", 1245, false, "fx67pb85gpU", "https://www.youtube.com/watch?v=fx67pb85gpU", 14, "/downloads/Good Mythical Morning/Does Playing With Food Make It Better?/Does Playing With Food Make It Better? [fx67pb85gpU].mp4", false, false, false, 6, [], 98, ~U[2026-01-28 11:01:16Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today, we see if food tastes better if it looks like art!\n\nWatch today's GMMORE: https://youtu.be/jxwje6J_H6A\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttru_VkRwPMNB8aQ4MmHWD7I5\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2968", "Does Playing With Food Make It Better?", 1245, false, "fx67pb85gpU", "https://www.youtube.com/watch?v=fx67pb85gpU", "/downloads/Good Mythical Morning/Does Playing With Food Make It Better?/Does Playing With Food Make It Better? [fx67pb85gpU].mp4", false, 6, ~U[2026-01-28 11:01:16Z]] 19:19:43.412 [debug] QUERY OK source="sources" db=1.3ms idle=19.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.423 [debug] QUERY OK source="media_items" db=11.4ms idle=18.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-27 11:01:43Z], 6] 19:19:43.427 [debug] QUERY OK source="media_items" db=2.7ms idle=27.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we attempt to pull off https://www.youtube.com/@dudeperfect style trick shots!\n\nWatch today's GMMORE: https://youtu.be/0c6qqh-9few\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com\n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtfUpSfPjC1Gma1G9Sv8gQq\nhttps://youtu.be/dX_mdg0zmHM\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2967", "Food Trick Shot Battle (ft. Dude Perfect)", "4aad9e23-9158-4093-ad1f-d873d9b8ac6b", 1582, false, "wNSaKGpe7JY", "https://www.youtube.com/watch?v=wNSaKGpe7JY", 15, "/downloads/Good Mythical Morning/Food Trick Shot Battle (ft. Dude Perfect)/Food Trick Shot Battle (ft. Dude Perfect) [wNSaKGpe7JY].mp4", false, false, false, 6, [], 98, ~U[2026-01-27 11:01:43Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today we attempt to pull off https://www.youtube.com/@dudeperfect style trick shots!\n\nWatch today's GMMORE: https://youtu.be/0c6qqh-9few\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com\n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrtfUpSfPjC1Gma1G9Sv8gQq\nhttps://youtu.be/dX_mdg0zmHM\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2967", "Food Trick Shot Battle (ft. Dude Perfect)", 1582, false, "wNSaKGpe7JY", "https://www.youtube.com/watch?v=wNSaKGpe7JY", "/downloads/Good Mythical Morning/Food Trick Shot Battle (ft. Dude Perfect)/Food Trick Shot Battle (ft. Dude Perfect) [wNSaKGpe7JY].mp4", false, 6, ~U[2026-01-27 11:01:43Z]] 19:19:43.428 [debug] QUERY OK source="sources" db=1.3ms idle=19.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.440 [debug] QUERY OK source="media_items" db=11.1ms idle=18.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-26 11:00:46Z], 6] 19:19:43.443 [debug] QUERY OK source="media_items" db=2.4ms idle=28.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we rank different pizzas, blindfolded!\n\nWatch today's GMMORE: https://youtu.be/9Wl4PR6xgeQ\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/oumKoEgvAUc\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2966", "Blind Pizza Taste Test", "5f02397f-9348-4b13-9720-71a83742a886", 912, false, "RgM-E3jwPhM", "https://www.youtube.com/watch?v=RgM-E3jwPhM", 16, "/downloads/Good Mythical Morning/Blind Pizza Taste Test/Blind Pizza Taste Test [RgM-E3jwPhM].mp4", false, false, false, 6, [], 98, ~U[2026-01-26 11:00:46Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today we rank different pizzas, blindfolded!\n\nWatch today's GMMORE: https://youtu.be/9Wl4PR6xgeQ\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5-S0zrY0gAOUwZTywp1lJ\nhttps://youtu.be/oumKoEgvAUc\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythical.com\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2966", "Blind Pizza Taste Test", 912, false, "RgM-E3jwPhM", "https://www.youtube.com/watch?v=RgM-E3jwPhM", "/downloads/Good Mythical Morning/Blind Pizza Taste Test/Blind Pizza Taste Test [RgM-E3jwPhM].mp4", false, 6, ~U[2026-01-26 11:00:46Z]] 19:19:43.444 [debug] QUERY OK source="sources" db=1.2ms idle=19.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.456 [debug] QUERY OK source="media_items" db=11.0ms idle=17.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-23 11:00:31Z], 6] 19:19:43.459 [debug] QUERY OK source="media_items" db=2.8ms idle=27.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we answer the question is the best part of food the middle?\n\nWatch today's GMMORE: https://youtu.be/B8Sn6Uoy17w\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvVm6IJHIOEuX6WU1fcFFLF\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2965", "Is The Middle The Best Bite? (Taste Test)", "275f5c54-a775-453e-bada-bf4c3fd9d9a6", 1487, false, "CYx9xhoSFgE", "https://www.youtube.com/watch?v=CYx9xhoSFgE", 17, "/downloads/Good Mythical Morning/Is The Middle The Best Bite? (Taste Test)/Is The Middle The Best Bite? (Taste Test) [CYx9xhoSFgE].mp4", false, false, false, 6, [], 98, ~U[2026-01-23 11:00:31Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today, we answer the question is the best part of food the middle?\n\nWatch today's GMMORE: https://youtu.be/B8Sn6Uoy17w\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrvVm6IJHIOEuX6WU1fcFFLF\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2965", "Is The Middle The Best Bite? (Taste Test)", 1487, false, "CYx9xhoSFgE", "https://www.youtube.com/watch?v=CYx9xhoSFgE", "/downloads/Good Mythical Morning/Is The Middle The Best Bite? (Taste Test)/Is The Middle The Best Bite? (Taste Test) [CYx9xhoSFgE].mp4", false, 6, ~U[2026-01-23 11:00:31Z]] 19:19:43.461 [debug] QUERY OK source="sources" db=1.2ms idle=19.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.472 [debug] QUERY OK source="media_items" db=11.2ms idle=18.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 11:00:20Z], 6] 19:19:43.476 [debug] QUERY OK source="media_items" db=2.9ms idle=28.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we find out if we can find Rhett a new best friend.\n\nWatch today's GMMORE: https://youtu.be/GNrrL2eEKUY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/3YA7wi5ZGSQ\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2964", "Should We Replace Link?", "e46925a6-ae25-422c-b6c5-a72c4ab94562", 1386, false, "DQXrnVK2C9A", "https://www.youtube.com/watch?v=DQXrnVK2C9A", 18, "/downloads/Good Mythical Morning/Should We Replace Link?/Should We Replace Link? [DQXrnVK2C9A].mp4", false, false, false, 6, [], 97, ~U[2026-01-22 11:00:20Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today we find out if we can find Rhett a new best friend.\n\nWatch today's GMMORE: https://youtu.be/GNrrL2eEKUY\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrucP6jJ1gjSqHmhlmvkdZuf\nhttps://youtu.be/3YA7wi5ZGSQ\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2964", "Should We Replace Link?", 1386, false, "DQXrnVK2C9A", "https://www.youtube.com/watch?v=DQXrnVK2C9A", "/downloads/Good Mythical Morning/Should We Replace Link?/Should We Replace Link? [DQXrnVK2C9A].mp4", false, 6, ~U[2026-01-22 11:00:20Z]] 19:19:43.477 [debug] QUERY OK source="sources" db=1.2ms idle=20.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.488 [debug] QUERY OK source="media_items" db=11.0ms idle=18.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-21 11:01:33Z], 6] 19:19:43.491 [debug] QUERY OK source="media_items" db=2.0ms idle=28.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we determine which is the best way to cook your food, microwave vs. oven.\n\nWatch today's GMMORE: https://youtu.be/zwIQ4ZUWKeA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR \n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2963", "Microwave vs. Oven Taste Test", "cb490d5e-f9c1-4cd5-bb64-ef1b81e570cf", 1358, false, "mYgtvcdT6vM", "https://www.youtube.com/watch?v=mYgtvcdT6vM", 19, "/downloads/Good Mythical Morning/Microwave vs. Oven Taste Test/Microwave vs. Oven Taste Test [mYgtvcdT6vM].mp4", false, false, false, 6, [], 98, ~U[2026-01-21 11:01:33Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today, we determine which is the best way to cook your food, microwave vs. oven.\n\nWatch today's GMMORE: https://youtu.be/zwIQ4ZUWKeA\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nPre-order Rhett & Link’s kids book Spaghetti Head & Chicken Fingers NOW at https://MythicalBooks.com \n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrshwHO2u9lkcfqK-58jwrjR \n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link’s Wonderhole: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\nDispatches From Myrtle Beach: https://www.youtube.com/@DispatchesFromMyrtleBeach\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2963", "Microwave vs. Oven Taste Test", 1358, false, "mYgtvcdT6vM", "https://www.youtube.com/watch?v=mYgtvcdT6vM", "/downloads/Good Mythical Morning/Microwave vs. Oven Taste Test/Microwave vs. Oven Taste Test [mYgtvcdT6vM].mp4", false, 6, ~U[2026-01-21 11:01:33Z]] 19:19:43.493 [debug] QUERY OK source="sources" db=1.3ms idle=19.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 19:19:43.504 [debug] QUERY OK source="media_items" db=11.2ms idle=17.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-20 11:00:26Z], 6] 19:19:43.512 [debug] QUERY OK source="media_items" db=6.9ms idle=27.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we test our spelling skills… or we smell. Thank you to Clorox for sponsoring this video and helping us Unleash the Bleach! #CloroxPartner @clorox This messy set did not stand a chance against Clorox Disinfecting Bleach, whether we’re cleaning up wine stains, trash, or any other mess. Learn how to clean with bleach and see why clean feels good. Shop now! https://www.walmart.com/ip/Clorox-Disinfecting-Liquid-Bleach-Cleaner-Regular-Scent-81-fl-oz/586467973. \n\nWatch today's GMMORE: https://youtu.be/n90OiFEGTl0\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5bEbi4QbgakyfDQZcDhup\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2962", "Extreme Smelling Bee Challenge", "f5814739-a2f5-47a1-a865-8db62f6ec2b9", 1682, false, "JSGUFHMkNgY", "https://www.youtube.com/watch?v=JSGUFHMkNgY", 20, "/downloads/Good Mythical Morning/Extreme Smelling Bee Challenge/Extreme Smelling Bee Challenge [JSGUFHMkNgY].mp4", false, false, false, 6, [], 98, ~U[2026-01-20 11:00:26Z], ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], "Today, we test our spelling skills… or we smell. Thank you to Clorox for sponsoring this video and helping us Unleash the Bleach! #CloroxPartner @clorox This messy set did not stand a chance against Clorox Disinfecting Bleach, whether we’re cleaning up wine stains, trash, or any other mess. Learn how to clean with bleach and see why clean feels good. Shop now! https://www.walmart.com/ip/Clorox-Disinfecting-Liquid-Bleach-Cleaner-Regular-Scent-81-fl-oz/586467973. \n\nWatch today's GMMORE: https://youtu.be/n90OiFEGTl0\nSubscribe and click the bell icon so you'll know when we add a new episode!\n\nWant more GMM?\nThis Season - https://www.youtube.com/playlist?list=PLJ49NV73ttrtgkVVZyxzSf8i0zMxbVY3X\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrsUefw67wH_pnEJ5KwJZ7lN\nhttps://www.youtube.com/playlist?list=PLJ49NV73ttrt5bEbi4QbgakyfDQZcDhup\n\nCheck Out Our Other Mythical Channels:\nMythical Kitchen: https://youtube.com/mythicalkitchen\nRhett & Link: https://youtube.com/rhettandlink\nGood Mythical MORE: https://youtube.com/goodmythicalmore\n\nJoin the Mythical Society: https://www.mythicalsociety.com \n\nPick up official GMM and Mythical merch at https://mythic.al/yt-store\nand https://www.amazon.com/mythical\n\nSubmit your Wheel of Mythicality video here: https://mythic.al/GMMWheelVideo\n\nTune in every Monday-Friday for a daily dose of fun and laughter. Watch two best friends eat truly unbelievable foods, explore surprising new products and trends, compete in original games with celebrity guests, try serious experiments in hilarious ways, and more.\n\nIn the spirit of minimizing food waste associated with the filming of this series, Mythical is donating to the Hollywood Food Coalition who provide daily, nourishing meals to underserved communities in the Los Angeles area.\n\nIntro Motion Graphics by Fantoons https://www.fantoons.shop/\n\nGMM #2962", "Extreme Smelling Bee Challenge", 1682, false, "JSGUFHMkNgY", "https://www.youtube.com/watch?v=JSGUFHMkNgY", "/downloads/Good Mythical Morning/Extreme Smelling Bee Challenge/Extreme Smelling Bee Challenge [JSGUFHMkNgY].mp4", false, 6, ~U[2026-01-20 11:00:26Z]] 19:19:43.513 [debug] QUERY OK source="sources" db=1.2ms idle=23.6ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z], 6] 19:19:43.524 [debug] QUERY OK source="media_items" db=10.9ms idle=22.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 19:19:43.537 [debug] QUERY OK source="media_items" db=11.8ms idle=21.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 19:19:43.558 [debug] QUERY OK source="media_items" db=20.0ms idle=26.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 19:19:43.558 [info] No notification servers provided for source 6 19:19:43.561 [debug] QUERY OK source="tasks" db=1.9ms idle=33.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [414, 6, ~U[2026-02-16 19:19:43Z], ~U[2026-02-16 19:19:43Z]] 19:19:43.563 [info] {"args":{"id":6},"id":400,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":57005202,"event":"job:stop","queue_time":672001,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 19:20:00.741 [info] {"source":"oban","duration":92,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:20:04.853 [info] {"source":"oban","duration":4005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:06.567 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QH1pZ2wttDk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Good Mythical Morning/%(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor --output /downloads/Good Mythical Morning/%(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cf/94/cf9448d5ced7b7fcf9b53a3b385f6dafdee4002559c1a3bc5b37f1be5ebeae2f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:20:06.594 [debug] Running yt-dlp command for action: download_thumbnail 19:20:06.597 [debug] QUERY OK source="settings" db=0.2ms idle=1648.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:06.597 [debug] QUERY OK source="settings" db=0.1ms idle=1649.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:06.597 [debug] QUERY OK source="settings" db=0.2ms idle=866.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:06.598 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QH1pZ2wttDk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/25854/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ff/99/ff99e907eb5c99e5fc82f5a7e2a6680b150324960dfe079175e6e39fd42d8c45.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:20:10.872 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QH1pZ2wttDk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/25854/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ff/99/ff99e907eb5c99e5fc82f5a7e2a6680b150324960dfe079175e6e39fd42d8c45.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:20:10.872 [debug] QUERY OK db=0.1ms idle=924.1ms begin [] 19:20:10.874 [debug] QUERY OK source="media_items" db=2.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-02-16 19:20:06Z], "/downloads/Good Mythical Morning/Japanese vs. American 7-Eleven (Taste Test)/Japanese vs. American 7-Eleven (Taste Test) [QH1pZ2wttDk].mp4", "/downloads/Good Mythical Morning/Japanese vs. American 7-Eleven (Taste Test)/Japanese vs. American 7-Eleven (Taste Test) [QH1pZ2wttDk].info.json", "/downloads/Good Mythical Morning/Japanese vs. American 7-Eleven (Taste Test)/Japanese vs. American 7-Eleven (Taste Test) [QH1pZ2wttDk]-thumb.jpg", ~U[2026-02-16 19:20:10Z], 25854] 19:20:10.875 [debug] QUERY OK source="media_metadata" db=0.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/25854/metadata.json.gz", "/config/metadata/media_items/25854/thumbnail.jpg", 25854, ~U[2026-02-16 19:20:10Z], ~U[2026-02-16 19:20:10Z]] 19:20:10.878 [debug] QUERY OK db=2.5ms commit [] 19:20:10.880 [debug] QUERY OK source="media_items" db=2.0ms idle=930.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [621606437, ~U[2026-02-16 19:20:10Z], 25854] 19:20:10.880 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:20:10.881 [info] {"args":{"id":25854},"id":413,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":74235079,"event":"job:stop","queue_time":645043,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:20:34.855 [info] {"source":"oban","duration":1498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:00.743 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:21:04.858 [info] {"source":"oban","duration":1836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:34.860 [info] {"source":"oban","duration":1336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:00.744 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:22:04.862 [info] {"source":"oban","duration":1351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:34.864 [info] {"source":"oban","duration":1445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:00.746 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:23:04.866 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:34.868 [info] {"source":"oban","duration":1419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:00.747 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:24:04.870 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:34.872 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:00.749 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:25:04.875 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:34.878 [info] {"source":"oban","duration":2004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:00.750 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:26:04.880 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:34.882 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:00.751 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:27:04.884 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:34.886 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:00.752 [info] {"source":"oban","duration":253,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:28:04.889 [info] {"source":"oban","duration":1923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:34.892 [info] {"source":"oban","duration":1875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:00.753 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:29:04.894 [info] {"source":"oban","duration":1813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:34.897 [info] {"source":"oban","duration":1754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:00.755 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:30:04.899 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:34.901 [info] {"source":"oban","duration":1354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:00.757 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:31:04.903 [info] {"source":"oban","duration":1356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:34.905 [info] {"source":"oban","duration":1741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:00.759 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:32:04.909 [info] {"source":"oban","duration":1932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:34.911 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:00.760 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:33:04.913 [info] {"source":"oban","duration":1250,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:34.915 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:00.762 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:34:04.918 [info] {"source":"oban","duration":1853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:34.920 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:00.764 [info] {"source":"oban","duration":901,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:35:04.922 [info] {"source":"oban","duration":1170,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:34.924 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:00.765 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:36:04.926 [info] {"source":"oban","duration":1491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:34.928 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:00.766 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:37:04.930 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:34.932 [info] {"source":"oban","duration":1434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:00.767 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:38:04.934 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:34.936 [info] {"source":"oban","duration":1239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:00.769 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:39:04.938 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:34.940 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:00.770 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:40:04.942 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:34.944 [info] {"source":"oban","duration":1387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:00.771 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:41:04.946 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:34.948 [info] {"source":"oban","duration":1280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:00.772 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:42:04.950 [info] {"source":"oban","duration":1331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:34.953 [info] {"source":"oban","duration":2061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:00.773 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:43:04.955 [info] {"source":"oban","duration":1359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:34.957 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:00.774 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:44:04.960 [info] {"source":"oban","duration":1309,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:34.961 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:00.775 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:45:04.964 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:34.967 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:00.776 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:46:04.970 [info] {"source":"oban","duration":1912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:34.972 [info] {"source":"oban","duration":1420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:00.778 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:47:04.974 [info] {"source":"oban","duration":1377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:34.976 [info] {"source":"oban","duration":1110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:00.779 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:48:04.978 [info] {"source":"oban","duration":1379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:34.981 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:00.781 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:49:04.985 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:34.987 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:00.782 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:50:04.989 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:34.991 [info] {"source":"oban","duration":1668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:00.783 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:51:04.992 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:34.994 [info] {"source":"oban","duration":1851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:00.784 [info] {"source":"oban","duration":306,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:52:04.997 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:34.999 [info] {"source":"oban","duration":1423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:00.785 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:53:05.003 [info] {"source":"oban","duration":3431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:35.005 [info] {"source":"oban","duration":1733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:00.786 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:54:05.008 [info] {"source":"oban","duration":1014,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:35.013 [info] {"source":"oban","duration":4191,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:00.787 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:55:05.016 [info] {"source":"oban","duration":2108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:35.017 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:00.788 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:56:05.018 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:35.020 [info] {"source":"oban","duration":1210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:00.789 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:57:05.022 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:35.024 [info] {"source":"oban","duration":1660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:00.790 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:58:05.026 [info] {"source":"oban","duration":1253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:35.028 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:00.791 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:59:05.030 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:35.031 [info] {"source":"oban","duration":882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:00.793 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:00:05.034 [info] {"source":"oban","duration":1105,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:35.036 [info] {"source":"oban","duration":1239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:00.794 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:01:05.038 [info] {"source":"oban","duration":920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:35.040 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:00.796 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:02:05.041 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:35.043 [info] {"source":"oban","duration":1109,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:00.797 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:03:05.045 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:35.047 [info] {"source":"oban","duration":1323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:00.799 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:04:05.049 [info] {"source":"oban","duration":1390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:35.051 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:00.800 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:05:05.053 [info] {"source":"oban","duration":1332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:35.054 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:00.802 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:06:05.057 [info] {"source":"oban","duration":2898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:35.060 [info] {"source":"oban","duration":948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:00.804 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:07:05.061 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:35.063 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:00.805 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:08:05.065 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:35.066 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:00.806 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:09:05.068 [info] {"source":"oban","duration":1230,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:35.070 [info] {"source":"oban","duration":937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:00.807 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:10:05.073 [info] {"source":"oban","duration":1787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:35.075 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:00.809 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:11:05.078 [info] {"source":"oban","duration":1162,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:35.080 [info] {"source":"oban","duration":1344,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:00.810 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:12:05.081 [info] {"source":"oban","duration":909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:35.085 [info] {"source":"oban","duration":1868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:00.811 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:13:05.087 [info] {"source":"oban","duration":860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:35.089 [info] {"source":"oban","duration":1310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:00.813 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:14:05.091 [info] {"source":"oban","duration":1320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:35.093 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:00.814 [info] {"source":"oban","duration":159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:15:05.095 [info] {"source":"oban","duration":1293,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:35.097 [info] {"source":"oban","duration":931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:00.815 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:16:05.099 [info] {"source":"oban","duration":1321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:35.102 [info] {"source":"oban","duration":1887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:00.816 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:17:05.104 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:35.106 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:00.818 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:18:05.109 [info] {"source":"oban","duration":2163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:35.111 [info] {"source":"oban","duration":1421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:00.819 [info] {"source":"oban","duration":217,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:19:05.113 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:35.115 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:00.820 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:20:05.117 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:35.119 [info] {"source":"oban","duration":1396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:00.821 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:21:05.121 [info] {"source":"oban","duration":1239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:35.123 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:00.822 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:22:05.125 [info] {"source":"oban","duration":1474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:35.128 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:00.824 [info] {"source":"oban","duration":246,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:23:05.129 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:35.131 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:00.825 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:24:05.133 [info] {"source":"oban","duration":1443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:35.135 [info] {"source":"oban","duration":1424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:00.826 [info] {"source":"oban","duration":260,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:25:05.137 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:35.139 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:00.827 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:26:05.141 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:35.144 [info] {"source":"oban","duration":1961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:00.828 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:27:05.146 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:35.148 [info] {"source":"oban","duration":1388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:00.829 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:28:05.151 [info] {"source":"oban","duration":2556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:35.153 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:00.830 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:29:05.156 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:35.159 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:00.831 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:30:05.160 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:35.162 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:00.833 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:31:05.164 [info] {"source":"oban","duration":1467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:35.166 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:00.835 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:32:05.169 [info] {"source":"oban","duration":1891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:35.171 [info] {"source":"oban","duration":1679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:00.836 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:33:05.173 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:35.176 [info] {"source":"oban","duration":1904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:00.837 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:34:05.177 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:35.180 [info] {"source":"oban","duration":1360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:00.838 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:35:05.181 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:35.183 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:00.840 [info] {"source":"oban","duration":325,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:36:05.185 [info] {"source":"oban","duration":1439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:35.187 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:00.841 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:37:05.190 [info] {"source":"oban","duration":1892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:35.192 [info] {"source":"oban","duration":1490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:00.842 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:38:05.195 [info] {"source":"oban","duration":1884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:35.198 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:00.843 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:39:05.200 [info] {"source":"oban","duration":1372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:35.202 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:00.845 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:40:05.204 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:35.206 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:00.846 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:41:05.207 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:35.209 [info] {"source":"oban","duration":1435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:00.847 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:42:05.212 [info] {"source":"oban","duration":1997,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:35.214 [info] {"source":"oban","duration":1106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:00.849 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:43:05.216 [info] {"source":"oban","duration":1338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:35.217 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:00.850 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:44:05.220 [info] {"source":"oban","duration":1887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:35.221 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:00.852 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:45:05.223 [info] {"source":"oban","duration":1698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:20.114 [info] GET / 20:45:20.117 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:45:20.125 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1093.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:20.126 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=1095.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:45:20.127 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1096.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:45:20.395 [info] Exqlite.Connection (#PID<0.2317.0>) disconnected: ** (DBConnection.ConnectionError) client #PID<0.146251.0> exited 20:45:20.545 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 20:45:21.317 [info] HEAD / 20:45:21.317 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:45:21.318 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1193.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:21.319 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1193.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:45:21.320 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1192.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:45:21.346 [debug] QUERY OK source="media_items" db=25.5ms idle=881.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:45:21.388 [debug] QUERY OK source="media_items" db=41.5ms queue=0.1ms idle=791.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:45:21.403 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=83.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:21.403 [debug] QUERY OK source="settings" db=0.1ms idle=84.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:21.417 [debug] QUERY OK source="settings" db=0.9ms idle=96.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:21.437 [debug] QUERY OK source="tasks" db=0.3ms idle=90.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 20:45:21.448 [debug] QUERY OK source="media_items" db=1.5ms idle=58.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)) [] 20:45:21.449 [debug] QUERY OK source="media_items" db=0.4ms idle=44.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] 20:45:21.449 [debug] QUERY OK source="sources" db=0.1ms idle=31.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:45:21.514 [debug] QUERY OK source="media_items" db=52.1ms idle=25.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 20:45:21.516 [debug] QUERY OK source="media_items" db=0.8ms idle=67.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] 20:45:21.516 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?,?)) [3, 4] 20:45:21.526 [info] Sent 200 in 208ms 20:45:22.545 [info] GET / 20:45:22.545 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:45:22.546 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1096.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:22.547 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1032.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:45:22.548 [debug] QUERY OK source="sources" db=0.3ms idle=1031.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:45:22.595 [debug] QUERY OK source="media_items" db=47.3ms queue=0.1ms idle=1031.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:45:22.606 [debug] QUERY OK source="media_items" db=10.4ms idle=147.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:45:22.606 [debug] QUERY OK source="settings" db=0.1ms idle=59.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:22.607 [debug] QUERY OK source="settings" db=0.1ms idle=59.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:22.607 [debug] QUERY OK source="settings" db=0.0ms idle=59.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:22.608 [debug] QUERY OK source="tasks" db=0.5ms idle=12.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"] 20:45:22.609 [debug] QUERY OK source="media_items" db=0.7ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:45:22.610 [debug] QUERY OK source="media_items" db=0.5ms 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] 20:45:22.611 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:45:22.841 [debug] QUERY OK source="media_items" db=228.0ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 20:45:22.843 [debug] QUERY OK source="media_items" db=1.5ms idle=232.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] 20:45:22.844 [debug] QUERY OK source="sources" db=0.5ms idle=234.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:45:22.850 [info] Sent 200 in 304ms 20:45:33.126 [info] GET / 20:45:33.126 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:45:33.128 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1095.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:33.128 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1096.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:45:33.129 [debug] QUERY OK source="sources" db=0.6ms idle=1096.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:45:33.133 [debug] QUERY OK source="media_items" db=3.8ms idle=1097.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:45:33.135 [debug] QUERY OK source="media_items" db=1.5ms idle=667.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:45:33.137 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:33.137 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:33.139 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 20:45:33.141 [debug] QUERY OK source="tasks" db=0.4ms idle=7.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"] 20:45:33.144 [debug] QUERY OK source="media_items" db=1.5ms 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)) [] 20:45:33.146 [debug] QUERY OK source="media_items" db=1.2ms 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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:45:33.147 [debug] QUERY OK source="sources" db=0.5ms idle=9.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:45:33.163 [debug] QUERY OK source="media_items" db=10.0ms idle=14.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 20:45:33.164 [debug] QUERY OK source="media_items" db=0.9ms idle=21.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:45:33.165 [debug] QUERY OK source="sources" db=0.3ms idle=20.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:45:33.167 [info] Sent 200 in 41ms 20:45:34.122 [info] GET /server 20:45:34.128 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=980.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:34.129 [debug] QUERY OK source="settings" db=0.4ms idle=965.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:34.131 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:34.135 [error] #PID<0.146257.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 2) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146257.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_G7-pFRL4igAB8VD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146257.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_G7-pFRL4igAB8VD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix (truncated) 20:45:35.140 [info] GET /server-status 20:45:35.141 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1012.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:35.142 [debug] QUERY OK source="settings" db=0.3ms idle=1012.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:35.142 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:35.143 [error] #PID<0.146258.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 3) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146258.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_KurNpNnf_8AB8Vj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146258.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_KurNpNnf_8AB8Vj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {Pinc (truncated) 20:45:35.227 [info] {"source":"oban","duration":1974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:36.116 [info] GET /about 20:45:36.117 [debug] QUERY OK source="settings" db=0.2ms idle=1084.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:36.117 [debug] QUERY OK source="settings" db=0.3ms idle=975.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:36.117 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:36.118 [error] #PID<0.146259.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 4) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146259.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_OXWCDsVHZ4AB8WD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146259.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_OXWCDsVHZ4AB8WD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex (truncated) 20:45:37.138 [info] GET /login.action 20:45:37.141 [debug] QUERY OK source="settings" db=0.5ms idle=1023.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:37.141 [debug] QUERY OK source="settings" db=0.2ms idle=1023.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:37.141 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:37.142 [error] #PID<0.146260.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 5) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146260.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_SLGwAyeJYIAB8Wj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146260.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_SLGwAyeJYIAB8Wj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [f (truncated) 20:45:38.116 [info] GET /v2/_catalog 20:45:38.496 [info] Sent 404 in 380ms 20:45:38.497 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:39.140 [info] GET /.DS_Store 20:45:39.142 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=641.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:39.142 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=110.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:39.143 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:39.144 [error] #PID<0.146262.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 7) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146262.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_ZocohcYysEAB8Xj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146262.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_ZocohcYysEAB8Xj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/route (truncated) 20:45:40.121 [info] GET /.env 20:45:40.121 [debug] QUERY OK source="settings" db=0.1ms idle=1089.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:40.122 [debug] QUERY OK source="settings" db=0.1ms idle=1089.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:40.122 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:40.122 [error] #PID<0.146263.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 8) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146263.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_dSMPVfCijoAB8YD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146263.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_dSMPVfCijoAB8YD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {P (truncated) 20:45:42.120 [info] GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application 20:45:42.121 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1088.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:42.122 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1089.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:42.122 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:42.123 [error] #PID<0.146264.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 9) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146264.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_kuwY8WTKPgAB8Yj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146264.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, (truncated) 20:45:44.139 [info] GET /.git/config 20:45:44.141 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=628.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:44.143 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=109.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:44.143 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:44.145 [error] #PID<0.146265.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 10) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146265.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_sQTyyt8Xh4AB8ZD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146265.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_sQTyyt8Xh4AB8ZD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.R (truncated) 20:45:45.242 [info] POST /graphql 20:45:45.245 [info] Sent 404 in 3ms 20:45:45.245 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:45.607 [info] POST /api 20:45:45.607 [info] Sent 404 in 525µs 20:45:45.607 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:45.951 [info] POST /api/graphql 20:45:45.952 [info] Sent 404 in 507µs 20:45:45.952 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:46.304 [info] POST /graphql/api 20:45:46.305 [info] Sent 404 in 496µs 20:45:46.305 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:46.651 [info] POST /api/gql 20:45:46.652 [info] Sent 404 in 512µs 20:45:46.652 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:47.160 [info] GET /s/534323e26373e2130313e21383/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties 20:45:47.161 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1129.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:47.162 [debug] QUERY OK source="settings" db=0.3ms idle=1129.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:47.162 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:47.163 [error] #PID<0.146273.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 16) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /s/534323e26373e2130313e21383/_/;/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/534323e26373e2130313e21383/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/534323e26373e2130313e21383/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146273.0>, params: %{}, path_info: ["s", "534323e26373e2130313e21383", "_", ";", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/s/534323e26373e2130313e21383/_/;/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", "GJTU_3ggtq8B7U0AB8cj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/534323e26373e2130313e21383/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /s/534323e26373e2130313e21383/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/534323e26373e2130313e21383/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146273.0>, params: %{}, path_info: ["s", "534323e26373e2130313e21383", "_", ";", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", (truncated) 20:45:48.011 [info] GET /config.json 20:45:48.013 [debug] QUERY OK source="settings" db=1.6ms idle=1979.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:48.014 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1497.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:48.014 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:48.017 [error] #PID<0.146274.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 17) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146274.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_6rUfyw5KP0AB8dD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146274.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_6rUfyw5KP0AB8dD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, (truncated) 20:45:49.002 [info] GET /telescope/requests 20:45:49.005 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=1840.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:49.007 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms idle=1488.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:49.008 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:49.011 [error] #PID<0.146275.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 18) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146275.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_-Xt55M-4EgAB8dj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146275.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTU_-Xt55M-4EgAB8dj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Rou (truncated) 20:45:50.009 [info] GET /info.php 20:45:50.010 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1004.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:50.011 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms 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 [] 20:45:50.012 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:50.014 [error] #PID<0.146276.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 19) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146276.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVACHt6kSRAOkAB8eD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146276.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVACHt6kSRAOkAB8eD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib (truncated) 20:45:51.015 [info] GET /.well-known/security.txt 20:45:51.016 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1983.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:51.018 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms idle=1495.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:51.018 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:51.019 [error] #PID<0.146277.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 20) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146277.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVAF3mRFUxF1wAB8ej"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146277.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVAF3mRFUxF1wAB8ej"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil (truncated) 20:45:52.013 [info] GET /actuator/env 20:45:52.015 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms 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 [] 20:45:52.016 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms 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 [] 20:45:52.017 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:52.018 [error] #PID<0.146278.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 21) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146278.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVAJlkLVT7cS0AB8fD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146278.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVAJlkLVT7cS0AB8fD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {Pinc (truncated) 20:45:54.038 [info] GET /swagger-ui.html 20:45:54.042 [debug] QUERY OK source="settings" db=0.5ms idle=1009.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:54.044 [debug] QUERY OK source="settings" db=1.2ms idle=1010.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:54.044 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:54.045 [error] #PID<0.146279.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 22) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger-ui.html", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 22, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146279.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVARIU0fs_BEYAB8fj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger-ui.html", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 22, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger-ui.html", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 22, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146279.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJ (truncated) 20:45:55.036 [info] GET /swagger/index.html 20:45:55.037 [debug] QUERY OK source="settings" db=0.4ms idle=994.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:55.038 [debug] QUERY OK source="settings" db=0.1ms idle=994.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:55.038 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:55.039 [error] #PID<0.146280.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 23) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/index.html", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 23, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146280.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVAU2U67KEkagAB8gD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/index.html", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 23, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/index.html", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 23, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146280.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/swagger/index.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate (truncated) 20:45:56.060 [info] GET /swagger/swagger-ui.html 20:45:56.061 [debug] QUERY OK source="settings" db=1.3ms idle=1028.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:56.063 [debug] QUERY OK source="settings" db=0.6ms queue=0.6ms idle=1029.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:56.063 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:56.065 [error] #PID<0.146281.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 24) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/swagger-ui.html", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 24, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146281.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVAYqTiSDndUcAB8gj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/swagger-ui.html", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 24, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/swagger-ui.html", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 24, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146281.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/swagger/swagger-ui.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"ca (truncated) 20:45:57.034 [info] GET /webjars/swagger-ui/index.html 20:45:57.036 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=973.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:57.036 [debug] QUERY OK source="settings" db=0.3ms idle=972.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:57.037 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:57.038 [error] #PID<0.146282.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 25) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/webjars/swagger-ui/index.html", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 25, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146282.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVAcSq8hu5fwcAB8hD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/webjars/swagger-ui/index.html", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 25, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/webjars/swagger-ui/index.html", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 25, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146282.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/webjars/swagger-ui/index.html", resp_body: nil, (truncated) 20:45:58.030 [info] GET /swagger.json 20:45:58.032 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=999.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:58.033 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1000.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:58.033 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:58.034 [error] #PID<0.146283.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 26) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 26, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146283.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVAgALN2Tb6DUAB8hj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 26, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 26, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146283.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVAgALN2Tb6DUAB8hj"} (truncated) 20:45:59.033 [info] GET /swagger/v1/swagger.json 20:45:59.034 [debug] QUERY OK source="settings" db=0.4ms 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 [] 20:45:59.035 [debug] QUERY OK source="settings" db=0.3ms idle=1001.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:59.035 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:45:59.036 [error] #PID<0.146284.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 27) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/v1/swagger.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 27, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146284.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVAjvNPEYq8vwAB8iD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/v1/swagger.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 27, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/swagger/v1/swagger.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 27, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146284.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/swagger/v1/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ (truncated) 20:46:00.028 [info] GET /v2/api-docs 20:46:00.029 [debug] QUERY OK source="settings" db=0.3ms idle=997.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:00.030 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=997.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:00.031 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:46:00.031 [error] #PID<0.146285.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 28) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v2/api-docs", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 28, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146285.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVAnch7ML8LDsAB8ij"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v2/api-docs", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 28, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v2/api-docs", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 28, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146285.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVAnch7ML8LDsA (truncated) 20:46:00.853 [info] {"source":"oban","duration":315,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:46:01.037 [info] GET /v3/api-docs 20:46:01.038 [debug] QUERY OK source="settings" db=0.4ms idle=496.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:01.039 [debug] QUERY OK source="settings" db=0.4ms idle=185.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:01.040 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:46:01.040 [error] #PID<0.146286.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 29) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v3/api-docs", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 29, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146286.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVArNFiChsZ7wAB8jD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v3/api-docs", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 29, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/v3/api-docs", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 29, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146286.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVArNFiChsZ7wA (truncated) 20:46:02.184 [info] GET /api-docs/swagger.json 20:46:02.185 [debug] QUERY OK source="settings" db=0.3ms idle=1150.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:02.186 [debug] QUERY OK source="settings" db=0.2ms idle=1151.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:02.186 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:46:02.187 [error] #PID<0.146287.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 30) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api-docs/swagger.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 30, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146287.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVAvedaTfIZO4AB8jj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api-docs/swagger.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 30, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api-docs/swagger.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 30, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146287.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/api-docs/swagger.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-a (truncated) 20:46:03.060 [info] GET /api/swagger.json 20:46:03.061 [debug] QUERY OK source="settings" db=0.4ms idle=875.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:03.062 [debug] QUERY OK source="settings" db=0.8ms idle=875.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:03.062 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:46:03.062 [error] #PID<0.146288.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 31) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/swagger.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 31, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146288.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVAyvSQWBzCUAAB8kD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/swagger.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 31, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/swagger.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/json", "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 31, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146288.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/json"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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- (truncated) 20:46:04.083 [info] GET /@vite/env 20:46:04.084 [debug] QUERY OK source="settings" db=0.3ms idle=1049.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:04.085 [debug] QUERY OK source="settings" db=0.6ms idle=1050.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:04.085 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:46:04.085 [error] #PID<0.146289.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 32) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 32, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146289.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVA2jRoUJrB5sAB8kj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 32, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 32, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146289.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVA2jRoUJrB5sAB8kj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, (truncated) 20:46:05.065 [info] GET /.vscode/sftp.json 20:46:05.065 [debug] QUERY OK source="settings" db=0.3ms idle=981.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:05.066 [debug] QUERY OK source="settings" db=0.1ms idle=980.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:05.066 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:46:05.066 [error] #PID<0.146290.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 33) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 33, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146290.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVA6NQfYYd99kAB8lD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 33, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 33, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146290.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVA6NQfYYd99kAB8lD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404 (truncated) 20:46:05.230 [info] {"source":"oban","duration":1689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:06.052 [info] OPTIONS / 20:46:06.056 [debug] QUERY OK source="settings" db=4.3ms idle=1018.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:06.057 [debug] QUERY OK source="settings" db=0.1ms idle=991.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:06.057 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:46:06.057 [error] #PID<0.146291.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 34) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", streamid: 34, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "OPTIONS", owner: #PID<0.146291.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTVA94j89vh7noAB8lj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", streamid: 34, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", streamid: 34, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "OPTIONS", owner: #PID<0.146291.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTVA94j89vh7noAB8lj"} ], scheme: :http, script_name: [], secret_key_base: :..., 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) 20:46:07.054 [info] GET / 20:46:07.054 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"rest_route" => "/wp/v2/users/"} Pipelines: [:browser] 20:46:07.055 [debug] QUERY OK source="settings" db=0.5ms idle=997.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:07.055 [debug] QUERY OK source="media_profiles" db=0.3ms idle=998.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:46:07.056 [debug] QUERY OK source="sources" db=0.2ms idle=501.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:46:07.059 [debug] QUERY OK source="media_items" db=2.9ms idle=20.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:46:07.060 [debug] QUERY OK source="media_items" db=0.7ms idle=23.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:46:07.061 [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 [] 20:46:07.061 [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 [] 20:46:07.062 [debug] QUERY OK source="settings" db=0.1ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:07.063 [debug] QUERY OK source="tasks" db=0.1ms idle=3.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 20:46:07.064 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:46:07.065 [debug] QUERY OK source="media_items" db=0.7ms 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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:46:07.066 [debug] QUERY OK source="sources" db=0.6ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:46:07.072 [debug] QUERY OK source="media_items" db=4.8ms 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"))) [] 20:46:07.073 [debug] QUERY OK source="media_items" db=0.5ms idle=9.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] 20:46:07.074 [debug] QUERY OK source="sources" db=0.1ms idle=9.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:46:07.075 [info] Sent 200 in 21ms 20:46:08.081 [info] GET /debug/default/view 20:46:08.083 [debug] QUERY OK source="settings" db=0.7ms idle=1016.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:08.083 [debug] QUERY OK source="settings" db=0.3ms idle=1010.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:08.084 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:46:08.084 [error] #PID<0.146293.0> running PinchflatWeb.Endpoint (connection #PID<0.146255.0>, stream id 36) terminated Server: pinchflat.fisean.duckdns.org: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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", streamid: 36, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146293.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVBFcf2sb0ru4AB8nD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", streamid: 36, has_body: false, 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.146255.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40308}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.fisean.duckdns.org", "user-agent" => "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)", "via" => "1.1 Caddy", "x-forwarded-for" => "167.99.182.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", streamid: 36, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146293.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.fisean.duckdns.org"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.534323e26373e2130313e21383; +https://leakix.net)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTVBFcf2sb0ru4AB8nD"} ], scheme: :h (truncated) 20:46:35.232 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:53.860 [info] GET / 20:46:53.860 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:46:53.861 [debug] QUERY OK source="settings" db=0.5ms idle=1188.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:53.862 [debug] QUERY OK source="media_profiles" db=0.3ms idle=825.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:46:53.863 [debug] QUERY OK source="sources" db=0.7ms idle=826.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:46:53.868 [debug] QUERY OK source="media_items" db=4.2ms idle=827.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:46:53.869 [debug] QUERY OK source="media_items" db=1.5ms idle=193.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:46:53.870 [debug] QUERY OK source="settings" db=0.3ms 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 [] 20:46:53.871 [debug] QUERY OK source="settings" db=0.2ms 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 [] 20:46:53.872 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:53.875 [debug] QUERY OK source="tasks" db=0.5ms idle=6.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 20:46:53.877 [debug] QUERY OK source="media_items" db=1.6ms queue=0.2ms idle=6.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:46:53.879 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms 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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:46:53.881 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=9.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:46:53.900 [debug] QUERY OK source="media_items" db=13.2ms idle=14.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 20:46:53.902 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=25.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:46:53.902 [debug] QUERY OK source="sources" db=0.2ms idle=24.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:46:53.905 [info] Sent 200 in 44ms 20:46:54.940 [info] CONNECTED TO Phoenix.LiveView.Socket in 5ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "JztzCHtAJHYJEgpCMFwTGyRFBBAHFR0TJd8mVsq8HSyzVmKBns0jwzPQ", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.fisean.duckdns.org/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.fisean.duckdns.org/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 20:46:55.082 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "m_Ke-3UNAAs8f1XYJ64zpoMB", "media_state" => "downloaded"} 20:46:55.098 [debug] QUERY OK source="media_items" db=15.4ms queue=0.1ms idle=406.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)) [] 20:46:55.101 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=62.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] 20:46:55.103 [debug] QUERY OK source="sources" db=0.4ms 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" IN (?,?,?)) [6, 7, 8] 20:46:55.103 [debug] Replied in 21ms 20:46:55.110 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "m_Ke-3UNAAs8f1XYJ64zpoMB", "media_state" => "pending"} 20:46:55.166 [debug] QUERY OK source="media_items" db=55.0ms idle=74.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"))) [] 20:46:55.167 [debug] QUERY OK source="media_items" db=1.1ms idle=130.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] 20:46:55.168 [debug] QUERY OK source="sources" db=0.3ms idle=69.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:46:55.168 [debug] Replied in 57ms 20:46:55.171 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "m_Ke-3UNAAs8f1XYJ64zpoMB"} 20:46:55.171 [debug] QUERY OK source="tasks" db=0.1ms idle=69.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"] 20:46:55.171 [debug] Replied in 519µs 20:46:56.645 [info] GET / 20:46:56.646 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:46:56.647 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1480.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:56.647 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1479.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:46:56.648 [debug] QUERY OK source="sources" db=0.2ms idle=1479.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:46:56.834 [debug] QUERY OK source="media_items" db=185.8ms idle=1476.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:46:56.838 [debug] QUERY OK source="media_items" db=3.3ms idle=187.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:46:56.839 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=190.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:56.840 [debug] QUERY OK source="settings" db=0.4ms idle=191.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:56.841 [debug] QUERY OK source="settings" db=0.6ms idle=140.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:46:56.845 [debug] QUERY OK source="tasks" db=0.7ms idle=9.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 20:46:56.847 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms 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)) [] 20:46:56.848 [debug] QUERY OK source="media_items" db=0.6ms idle=8.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:46:56.850 [debug] QUERY OK source="sources" db=0.3ms idle=9.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:46:56.861 [debug] QUERY OK source="media_items" db=6.5ms idle=13.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 20:46:56.862 [debug] QUERY OK source="media_items" db=0.7ms idle=16.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] 20:46:56.862 [debug] QUERY OK source="sources" db=0.2ms idle=14.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:46:56.864 [info] Sent 200 in 219ms 20:46:59.898 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "NiJzbCthUG0FTxlQJhYfAggWIDA3KQMHFGDYbV68Vzs5qZThgLuoNgWB", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.fisean.duckdns.org/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.fisean.duckdns.org/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 20:47:00.084 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "pe75I7fUS5jeWLKjoZU_yNTE", "media_state" => "downloaded"} 20:47:00.088 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=378.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)) [] 20:47:00.089 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms 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] 20:47:00.091 [debug] QUERY OK source="sources" db=0.5ms idle=54.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:47:00.091 [debug] Replied in 7ms 20:47:00.100 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "pe75I7fUS5jeWLKjoZU_yNTE", "media_state" => "pending"} 20:47:00.113 [debug] QUERY OK source="media_items" db=12.9ms idle=64.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"))) [] 20:47:00.116 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=78.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] 20:47:00.118 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=28.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:47:00.118 [debug] Replied in 18ms 20:47:00.124 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "pe75I7fUS5jeWLKjoZU_yNTE"} 20:47:00.125 [debug] QUERY OK source="tasks" db=0.8ms idle=34.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 20:47:00.125 [debug] Replied in 1ms 20:47:00.854 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:47:05.234 [info] {"source":"oban","duration":1450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:35.237 [info] {"source":"oban","duration":1620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:57.466 [info] HEAD / 20:47:57.466 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:47:57.467 [debug] QUERY OK source="settings" db=0.4ms idle=1427.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:47:57.468 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1428.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:47:57.468 [debug] QUERY OK source="sources" db=0.1ms idle=626.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:47:57.472 [debug] QUERY OK source="media_items" db=3.3ms queue=0.2ms idle=429.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:47:57.473 [debug] QUERY OK source="media_items" db=0.8ms idle=433.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:47:57.473 [debug] QUERY OK source="settings" db=0.1ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:47:57.474 [debug] QUERY OK source="settings" db=0.0ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:47:57.474 [debug] QUERY OK source="settings" db=0.1ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:47:57.475 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 20:47:57.476 [debug] QUERY OK source="media_items" db=0.6ms idle=2.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)) [] 20:47:57.476 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:47:57.477 [debug] QUERY OK source="sources" db=0.1ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:47:57.484 [debug] QUERY OK source="media_items" db=5.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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 20:47:57.485 [debug] QUERY OK source="media_items" db=0.6ms idle=9.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:47:57.487 [debug] QUERY OK source="sources" db=0.5ms queue=0.3ms idle=10.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:47:57.489 [info] Sent 200 in 23ms 20:47:58.412 [info] GET / 20:47:58.412 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:47:58.412 [debug] QUERY OK source="settings" db=0.3ms idle=934.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:47:58.413 [debug] QUERY OK source="media_profiles" db=0.3ms idle=928.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:47:58.413 [debug] QUERY OK source="sources" db=0.3ms idle=927.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:47:58.416 [debug] QUERY OK source="media_items" db=2.2ms idle=926.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:47:58.416 [debug] QUERY OK source="media_items" db=0.7ms idle=570.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:47:58.417 [debug] QUERY OK source="settings" db=0.1ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:47:58.417 [debug] QUERY OK source="settings" db=0.2ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:47:58.418 [debug] QUERY OK source="settings" db=0.0ms 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 [] 20:47:58.418 [debug] QUERY OK source="tasks" db=0.1ms idle=2.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 20:47:58.419 [debug] QUERY OK source="media_items" db=0.7ms idle=2.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)) [] 20:47:58.420 [debug] QUERY OK source="media_items" db=0.8ms idle=2.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:47:58.421 [debug] QUERY OK source="sources" db=0.5ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:47:58.445 [debug] QUERY OK source="media_items" db=21.8ms idle=5.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"))) [] 20:47:58.446 [debug] QUERY OK source="media_items" db=0.5ms idle=26.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:47:58.447 [debug] QUERY OK source="sources" db=0.6ms idle=26.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:47:58.448 [info] Sent 200 in 36ms 20:48:00.855 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:48:00.982 [info] HEAD /_next 20:48:00.983 [debug] QUERY OK source="settings" db=0.3ms idle=943.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:48:00.984 [debug] QUERY OK source="settings" db=0.3ms idle=944.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:48:00.984 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:48:00.985 [error] #PID<0.146338.0> running PinchflatWeb.Endpoint (connection #PID<0.146335.0>, stream id 3) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: HEAD /_next ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_next (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146335.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_next", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56490}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/_next", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146338.0>, params: %{}, path_info: ["_next"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/_next"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/_next", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTVHqCF0fT3insAB81j"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146335.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_next", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56490}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/_next", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_next (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146335.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_next", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56490}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/_next", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146338.0>, params: %{}, path_info: ["_next"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/_next"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/_next", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 20:48:02.596 [info] HEAD /__rsc 20:48:02.598 [debug] QUERY OK source="settings" db=0.8ms idle=744.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:48:02.599 [debug] QUERY OK source="settings" db=0.2ms idle=559.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:48:02.599 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:48:02.601 [error] #PID<0.146339.0> running PinchflatWeb.Endpoint (connection #PID<0.146335.0>, stream id 4) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: HEAD /__rsc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /__rsc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146335.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/__rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56490}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/__rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146339.0>, params: %{}, path_info: ["__rsc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/__rsc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/__rsc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTVHwDChfqQLnsAB82D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146335.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/__rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56490}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/__rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /__rsc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146335.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/__rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56490}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/__rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146339.0>, params: %{}, path_info: ["__rsc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/__rsc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/__rsc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 20:48:03.907 [info] HEAD /rsc 20:48:03.908 [debug] QUERY OK source="settings" db=0.3ms 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 [] 20:48:03.909 [debug] QUERY OK source="settings" db=0.3ms idle=1310.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:48:03.909 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:48:03.911 [error] #PID<0.146340.0> running PinchflatWeb.Endpoint (connection #PID<0.146335.0>, stream id 5) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: HEAD /rsc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /rsc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146335.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56490}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146340.0>, params: %{}, path_info: ["rsc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/rsc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/rsc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTVH07jUqwaCfgAB82j"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146335.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56490}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /rsc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146335.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56490}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146340.0>, params: %{}, path_info: ["rsc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/rsc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/rsc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ (truncated) 20:48:05.239 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:35.243 [info] {"source":"oban","duration":3586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:00.856 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:49:05.245 [info] {"source":"oban","duration":1408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:12.093 [info] HEAD / 20:49:12.094 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:49:12.095 [debug] QUERY OK source="settings" db=0.5ms idle=1050.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:12.095 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1051.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:49:12.096 [debug] QUERY OK source="sources" db=0.2ms idle=1051.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:49:12.099 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=1052.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:49:12.099 [debug] QUERY OK source="media_items" db=0.7ms idle=92.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:49:12.100 [debug] QUERY OK source="settings" db=0.1ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:12.100 [debug] QUERY OK source="settings" db=0.2ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:12.101 [debug] QUERY OK source="settings" db=0.4ms 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 [] 20:49:12.102 [debug] QUERY OK source="tasks" db=0.4ms idle=3.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"] 20:49:12.104 [debug] QUERY OK source="media_items" db=1.0ms idle=3.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:49:12.104 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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] 20:49:12.105 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:49:12.113 [debug] QUERY OK source="media_items" db=6.1ms 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"))) [] 20:49:12.114 [debug] QUERY OK source="media_items" db=0.6ms idle=11.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:49:12.115 [debug] QUERY OK source="sources" db=0.2ms idle=10.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:49:12.117 [info] Sent 200 in 23ms 20:49:13.483 [info] GET / 20:49:13.483 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:49:13.483 [debug] QUERY OK source="settings" db=0.2ms idle=1378.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:13.484 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1370.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:49:13.484 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1369.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:49:13.576 [debug] QUERY OK source="media_items" db=91.0ms queue=0.1ms idle=1369.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:49:13.579 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=567.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:49:13.579 [debug] QUERY OK source="settings" db=0.1ms idle=95.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:13.580 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=95.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:13.581 [debug] QUERY OK source="settings" db=0.3ms idle=96.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:13.582 [debug] QUERY OK source="tasks" db=0.4ms 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"] 20:49:13.583 [debug] QUERY OK source="media_items" db=0.8ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:49:13.584 [debug] QUERY OK source="media_items" db=0.5ms idle=4.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:49:13.585 [debug] QUERY OK source="sources" db=0.3ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:49:13.593 [debug] QUERY OK source="media_items" db=5.5ms 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"))) [] 20:49:13.594 [debug] QUERY OK source="media_items" db=0.5ms idle=10.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:49:13.594 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:49:13.596 [info] Sent 200 in 112ms 20:49:16.643 [info] HEAD /_next 20:49:16.645 [debug] QUERY OK source="settings" db=0.6ms idle=1600.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:16.647 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=1601.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:16.647 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:49:16.648 [error] #PID<0.146353.0> running PinchflatWeb.Endpoint (connection #PID<0.146347.0>, stream id 3) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: HEAD /_next ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_next (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146347.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_next", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35764}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/_next", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146353.0>, params: %{}, path_info: ["_next"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/_next"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/_next", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTVMD5NbGd69bEAB88D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146347.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_next", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35764}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/_next", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_next (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146347.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_next", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35764}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/_next", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146353.0>, params: %{}, path_info: ["_next"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/_next"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/_next", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 20:49:18.620 [info] HEAD /__rsc 20:49:18.620 [debug] QUERY OK source="settings" db=0.2ms idle=1576.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:18.621 [debug] QUERY OK source="settings" db=0.2ms idle=1576.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:18.621 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:49:18.621 [error] #PID<0.146354.0> running PinchflatWeb.Endpoint (connection #PID<0.146347.0>, stream id 4) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: HEAD /__rsc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /__rsc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146347.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/__rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35764}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/__rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146354.0>, params: %{}, path_info: ["__rsc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/__rsc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/__rsc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTVMLQZJNbHBcQAB88j"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146347.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/__rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35764}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/__rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /__rsc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146347.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/__rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35764}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/__rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146354.0>, params: %{}, path_info: ["__rsc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/__rsc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/__rsc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 20:49:20.154 [info] HEAD /rsc 20:49:20.156 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=132.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:20.156 [debug] QUERY OK source="settings" db=0.2ms idle=109.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:20.157 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:49:20.158 [error] #PID<0.146355.0> running PinchflatWeb.Endpoint (connection #PID<0.146347.0>, stream id 5) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: HEAD /rsc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /rsc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146347.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35764}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146355.0>, params: %{}, path_info: ["rsc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/rsc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/rsc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTVMQ-TvFHUc7wAB89D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146347.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35764}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /rsc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146347.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35764}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146355.0>, params: %{}, path_info: ["rsc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/rsc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/rsc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ (truncated) 20:49:35.247 [info] {"source":"oban","duration":1483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:36.568 [info] GET / 20:49:36.569 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:49:36.569 [debug] QUERY OK source="settings" db=0.1ms idle=521.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:36.569 [debug] QUERY OK source="media_profiles" db=0.1ms idle=521.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:49:36.570 [debug] QUERY OK source="sources" db=0.1ms idle=521.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:49:36.573 [debug] QUERY OK source="media_items" db=2.8ms idle=522.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:49:36.575 [debug] QUERY OK source="media_items" db=1.7ms idle=524.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:49:36.575 [debug] QUERY OK source="settings" db=0.6ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:36.576 [debug] QUERY OK source="settings" db=0.4ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:36.577 [debug] QUERY OK source="settings" db=0.9ms idle=6.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:49:36.579 [debug] QUERY OK source="tasks" db=1.3ms 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"] 20:49:36.581 [debug] QUERY OK source="media_items" db=1.1ms 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)) [] 20:49:36.582 [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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:49:36.582 [debug] QUERY OK source="sources" db=0.3ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:49:36.589 [debug] QUERY OK source="media_items" db=4.9ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 20:49:36.590 [debug] QUERY OK source="media_items" db=0.6ms idle=10.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:49:36.592 [debug] QUERY OK source="sources" db=1.6ms idle=9.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:49:36.594 [info] Sent 200 in 25ms 20:50:00.857 [info] {"source":"oban","duration":304,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:50:05.250 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:35.252 [info] {"source":"oban","duration":1492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:36.504 [info] GET / 20:50:36.504 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:50:36.505 [debug] QUERY OK source="settings" db=0.3ms idle=1337.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:50:36.505 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1252.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:50:36.505 [debug] QUERY OK source="sources" db=0.1ms idle=457.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:50:36.508 [debug] QUERY OK source="media_items" db=2.2ms idle=457.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:50:36.509 [debug] QUERY OK source="media_items" db=0.6ms idle=338.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:50:36.509 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 20:50:36.510 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:50:36.511 [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 [] 20:50:36.512 [debug] QUERY OK source="tasks" db=0.5ms idle=4.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"] 20:50:36.513 [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 (m0."media_filepath" IS NULL)) [] 20:50:36.514 [debug] QUERY OK source="media_items" db=0.2ms 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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:50:36.514 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:50:36.521 [debug] QUERY OK source="media_items" db=4.8ms queue=0.5ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 20:50:36.522 [debug] QUERY OK source="media_items" db=0.6ms idle=9.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:50:36.523 [debug] QUERY OK source="sources" db=0.2ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:50:36.525 [info] Sent 200 in 20ms 20:50:38.381 [info] GET / 20:50:38.381 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:50:38.382 [debug] QUERY OK source="settings" db=0.4ms idle=334.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:50:38.383 [debug] QUERY OK source="media_profiles" db=0.2ms idle=334.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:50:38.384 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=335.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:50:38.389 [debug] QUERY OK source="media_items" db=4.3ms queue=0.4ms idle=336.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:50:38.391 [debug] QUERY OK source="media_items" db=1.7ms queue=0.4ms idle=212.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:50:38.392 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=9.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:50:38.394 [debug] QUERY OK source="settings" db=0.7ms queue=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 [] 20:50:38.396 [debug] QUERY OK source="settings" db=0.4ms queue=0.7ms idle=11.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:50:38.401 [debug] QUERY OK source="tasks" db=1.0ms idle=10.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 20:50:38.404 [debug] QUERY OK source="media_items" db=2.0ms idle=10.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:50:38.405 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=11.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:50:38.406 [debug] QUERY OK source="sources" db=0.4ms idle=11.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:50:38.418 [debug] QUERY OK source="media_items" db=8.0ms idle=13.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 20:50:38.420 [debug] QUERY OK source="media_items" db=1.3ms idle=17.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:50:38.422 [debug] QUERY OK source="sources" db=0.3ms queue=0.4ms idle=17.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:50:38.424 [info] Sent 200 in 42ms 20:50:38.673 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "EAQVBVsPLzVPYUI4axBsOEwhHhUEOwc1b2aL5FMm6-6RRwUSyodL1wtt", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.fisean.duckdns.org/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.fisean.duckdns.org/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 20:50:38.801 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "r6tInIbXyLtj9g9k5NzY5LsA", "media_state" => "downloaded"} 20:50:38.806 [debug] QUERY OK source="media_items" db=4.6ms queue=0.1ms idle=396.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)) [] 20:50:38.808 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=400.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] 20:50:38.810 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=391.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:50:38.811 [debug] Replied in 9ms 20:50:38.818 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "r6tInIbXyLtj9g9k5NzY5LsA", "media_state" => "pending"} 20:50:38.832 [debug] QUERY OK source="media_items" db=13.5ms idle=398.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"))) [] 20:50:38.834 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=410.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] 20:50:38.836 [debug] QUERY OK source="sources" db=0.4ms idle=28.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:50:38.836 [debug] Replied in 18ms 20:50:38.841 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "r6tInIbXyLtj9g9k5NzY5LsA"} 20:50:38.842 [debug] QUERY OK source="tasks" db=0.7ms idle=33.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"] 20:50:38.842 [debug] Replied in 1ms 20:50:38.878 [info] GET / 20:50:38.878 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:50:38.879 [debug] QUERY OK source="settings" db=0.3ms idle=67.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:50:38.879 [debug] QUERY OK source="media_profiles" db=0.3ms idle=46.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:50:38.880 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms idle=45.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:50:38.884 [debug] QUERY OK source="media_items" db=3.9ms idle=44.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:50:38.886 [debug] QUERY OK source="media_items" db=1.6ms idle=42.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:50:38.887 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:50:38.888 [debug] QUERY OK source="settings" db=0.3ms 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 [] 20:50:38.890 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:50:38.892 [debug] QUERY OK source="tasks" db=0.6ms idle=7.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 20:50:38.895 [debug] QUERY OK source="media_items" db=1.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 (m0."media_filepath" IS NULL)) [] 20:50:38.896 [debug] QUERY OK source="media_items" db=1.0ms 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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:50:38.898 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=8.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:50:38.925 [debug] QUERY OK source="media_items" db=19.2ms idle=15.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 20:50:38.926 [debug] QUERY OK source="media_items" db=0.8ms idle=32.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] 20:50:38.927 [debug] QUERY OK source="sources" db=0.6ms idle=31.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:50:38.929 [info] Sent 200 in 51ms 20:50:39.169 [info] GET / 20:50:39.170 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:50:39.171 [debug] QUERY OK source="settings" db=0.3ms idle=273.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:50:39.171 [debug] QUERY OK source="media_profiles" db=0.3ms idle=273.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:50:39.172 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=246.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:50:39.176 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=246.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:50:39.178 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "CQZHawtQBBUARmAwBxw_BSQjMTlWBSgaXR-3o9TybtUDohEfqoYm2aX_", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.fisean.duckdns.org/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.fisean.duckdns.org/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 20:50:39.178 [debug] QUERY OK source="media_items" db=1.6ms idle=249.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:50:39.180 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:50:39.182 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:50:39.184 [debug] QUERY OK source="settings" db=0.7ms 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 [] 20:50:39.186 [debug] QUERY OK source="tasks" db=0.5ms idle=7.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"] 20:50:39.189 [debug] QUERY OK source="media_items" db=1.5ms idle=7.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:50:39.190 [debug] QUERY OK source="media_items" db=1.0ms queue=0.2ms idle=8.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:50:39.192 [debug] QUERY OK source="sources" db=0.6ms queue=0.4ms idle=9.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:50:39.211 [debug] QUERY OK source="media_items" db=12.7ms idle=14.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 20:50:39.213 [debug] QUERY OK source="media_items" db=1.7ms idle=25.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:50:39.215 [debug] QUERY OK source="sources" db=0.8ms idle=25.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:50:39.218 [info] Sent 200 in 48ms 20:50:39.298 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "QTjXdiPlb25thtzcULhTddpE", "media_state" => "downloaded"} 20:50:39.300 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=108.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)) [] 20:50:39.302 [debug] QUERY OK source="media_items" db=1.4ms queue=0.2ms idle=108.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] 20:50:39.304 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=92.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:50:39.305 [debug] Replied in 6ms 20:50:39.312 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "QTjXdiPlb25thtzcULhTddpE", "media_state" => "pending"} 20:50:39.328 [debug] QUERY OK source="media_items" db=15.7ms idle=99.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"))) [] 20:50:39.331 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=113.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:50:39.332 [debug] QUERY OK source="sources" db=0.5ms idle=31.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:50:39.333 [debug] Replied in 21ms 20:50:39.339 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "QTjXdiPlb25thtzcULhTddpE"} 20:50:39.341 [debug] QUERY OK source="tasks" db=0.7ms idle=37.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"] 20:50:39.341 [debug] Replied in 1ms 20:51:00.858 [info] {"source":"oban","duration":164,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:51:05.254 [info] {"source":"oban","duration":1767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:06.004 [info] GET / 20:51:06.005 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:51:06.006 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=957.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:06.007 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=958.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:51:06.007 [debug] QUERY OK source="sources" db=0.1ms idle=959.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:51:06.009 [debug] QUERY OK source="media_items" db=1.9ms idle=762.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:51:06.010 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=755.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:51:06.011 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:06.011 [debug] QUERY OK source="settings" db=0.0ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:06.011 [debug] QUERY OK source="settings" db=0.0ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:06.013 [debug] QUERY OK source="tasks" db=1.0ms 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"] 20:51:06.014 [debug] QUERY OK source="media_items" db=0.7ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:51:06.015 [debug] QUERY OK source="media_items" db=0.4ms queue=0.6ms idle=3.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:51:06.016 [debug] QUERY OK source="sources" db=0.5ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:51:06.024 [debug] QUERY OK source="media_items" db=5.4ms 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"))) [] 20:51:06.026 [debug] QUERY OK source="media_items" db=0.8ms queue=0.7ms idle=10.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:51:06.027 [debug] QUERY OK source="sources" db=0.5ms idle=11.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:51:06.028 [info] Sent 200 in 24ms 20:51:35.257 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:52.993 [info] HEAD / 20:51:52.993 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:51:52.994 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1942.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:52.995 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1943.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:51:52.999 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=1944.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:51:53.005 [debug] QUERY OK source="media_items" db=6.2ms idle=1650.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:51:53.010 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=652.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:51:53.011 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=15.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:53.013 [debug] QUERY OK source="settings" db=0.8ms queue=0.8ms idle=16.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:53.015 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=15.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:53.020 [debug] QUERY OK source="tasks" db=0.5ms idle=13.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 20:51:53.022 [debug] QUERY OK source="media_items" db=1.3ms idle=10.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:51:53.023 [debug] QUERY OK source="media_items" db=1.5ms idle=10.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:51:53.024 [debug] QUERY OK source="sources" db=0.3ms idle=11.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:51:53.035 [debug] QUERY OK source="media_items" db=7.9ms idle=11.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 20:51:53.036 [debug] QUERY OK source="media_items" db=0.8ms idle=15.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:51:53.037 [debug] QUERY OK source="sources" db=0.9ms idle=14.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:51:53.039 [info] Sent 200 in 46ms 20:51:54.415 [info] GET / 20:51:54.415 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:51:54.415 [debug] QUERY OK source="settings" db=0.2ms idle=364.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:54.416 [debug] QUERY OK source="media_profiles" db=0.3ms idle=364.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:51:54.416 [debug] QUERY OK source="sources" db=0.2ms idle=365.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:51:54.419 [debug] QUERY OK source="media_items" db=2.2ms queue=0.2ms idle=365.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:51:54.420 [debug] QUERY OK source="media_items" db=0.9ms idle=61.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:51:54.420 [debug] QUERY OK source="settings" db=0.1ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:54.421 [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 [] 20:51:54.422 [debug] QUERY OK source="settings" db=0.1ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:54.423 [debug] QUERY OK source="tasks" db=0.3ms idle=4.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 20:51:54.424 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:51:54.425 [debug] QUERY OK source="media_items" db=0.7ms idle=4.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:51:54.426 [debug] QUERY OK source="sources" db=0.3ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 20:51:54.434 [debug] QUERY OK source="media_items" db=5.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"))) [] 20:51:54.434 [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" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:51:54.435 [debug] QUERY OK source="sources" db=0.2ms idle=10.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 20:51:54.437 [info] Sent 200 in 22ms 20:51:58.115 [info] HEAD /__rsc 20:51:58.116 [debug] QUERY OK source="settings" db=0.3ms idle=751.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:58.117 [debug] QUERY OK source="settings" db=0.4ms idle=65.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:58.117 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:51:58.118 [error] #PID<0.146411.0> running PinchflatWeb.Endpoint (connection #PID<0.146408.0>, stream id 3) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: HEAD /__rsc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /__rsc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146408.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/__rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57624}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/__rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146411.0>, params: %{}, path_info: ["__rsc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/__rsc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/__rsc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTVVdbB-RxNDFIAB9PD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146408.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/__rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57624}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/__rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /__rsc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146408.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/__rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57624}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/__rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146411.0>, params: %{}, path_info: ["__rsc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/__rsc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/__rsc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 20:51:59.257 [info] HEAD /rsc 20:51:59.258 [debug] QUERY OK source="settings" db=0.3ms idle=1206.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:59.259 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1207.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:59.259 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:51:59.260 [error] #PID<0.146412.0> running PinchflatWeb.Endpoint (connection #PID<0.146408.0>, stream id 4) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: HEAD /rsc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /rsc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146408.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57624}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146412.0>, params: %{}, path_info: ["rsc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/rsc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/rsc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTVVhrP93oofA8AB9Pj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146408.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57624}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /rsc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.146408.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/rsc", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57624}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "pinchflat.fisean.duckdns.org", "referer" => "http://pinchflat.fisean.duckdns.org/rsc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "176.65.148.161", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "HEAD", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.146412.0>, params: %{}, path_info: ["rsc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "http://pinchflat.fisean.duckdns.org/rsc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "176.65.148.161"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"} ], request_path: "/rsc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ (truncated) 20:52:00.859 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:52:05.260 [info] {"source":"oban","duration":1736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:35.262 [info] {"source":"oban","duration":925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:00.861 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:53:05.267 [info] {"source":"oban","duration":3184,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:35.269 [info] {"source":"oban","duration":1683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:00.862 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:54:05.272 [info] {"source":"oban","duration":1492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:35.273 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:00.863 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:55:05.275 [info] {"source":"oban","duration":1408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:35.277 [info] {"source":"oban","duration":1497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:00.864 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:56:05.279 [info] {"source":"oban","duration":1460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:35.281 [info] {"source":"oban","duration":1488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:00.865 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:57:05.284 [info] {"source":"oban","duration":1484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:35.287 [info] {"source":"oban","duration":1443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:00.866 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:58:05.290 [info] {"source":"oban","duration":1900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:35.292 [info] {"source":"oban","duration":1423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:00.867 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:59:05.294 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:35.297 [info] {"source":"oban","duration":1982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:00.868 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:00:05.299 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:35.302 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:00.869 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:01:05.304 [info] {"source":"oban","duration":1500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:35.307 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:00.870 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:02:05.310 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:11.305 [info] GET / 21:02:11.306 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:02:11.307 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=652.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:02:11.308 [debug] QUERY OK source="media_profiles" db=0.8ms idle=243.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:02:11.309 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=244.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:02:11.314 [debug] QUERY OK source="media_items" db=4.4ms idle=245.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:02:11.316 [debug] QUERY OK source="media_items" db=1.6ms idle=250.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:02:11.317 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=9.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:02:11.318 [debug] QUERY OK source="settings" db=0.4ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:02:11.319 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=9.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:02:11.322 [debug] QUERY OK source="tasks" db=0.6ms idle=7.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:02:11.325 [debug] QUERY OK source="media_items" db=1.6ms idle=7.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:02:11.327 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=8.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:02:11.329 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms 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" IN (?,?,?)) [6, 7, 8] 21:02:11.349 [debug] QUERY OK source="media_items" db=14.3ms idle=15.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:02:11.350 [debug] QUERY OK source="media_items" db=1.1ms idle=26.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] 21:02:11.351 [debug] QUERY OK source="sources" db=0.2ms idle=25.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 21:02:11.354 [info] Sent 200 in 49ms 21:02:35.312 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:00.871 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:03:05.314 [info] {"source":"oban","duration":1381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:35.316 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:00.872 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:04:05.318 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:35.320 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:00.873 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:05:05.322 [info] {"source":"oban","duration":1305,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:35.324 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:00.874 [info] {"source":"oban","duration":336,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:06:05.326 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:35.328 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:00.875 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:07:05.330 [info] {"source":"oban","duration":1445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:35.332 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:00.877 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:08:05.335 [info] {"source":"oban","duration":1932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:35.338 [info] {"source":"oban","duration":1991,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:00.878 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:09:05.339 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:35.342 [info] {"source":"oban","duration":1948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:00.879 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:10:05.344 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:35.346 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:00.880 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:11:05.350 [info] {"source":"oban","duration":1923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:35.352 [info] {"source":"oban","duration":1485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:00.711 [info] GET / 21:12:00.712 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:12:00.712 [debug] QUERY OK source="settings" db=0.3ms idle=1648.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:12:00.713 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1649.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:12:00.714 [debug] QUERY OK source="sources" db=0.4ms idle=1649.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:12:00.718 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=1650.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:12:00.720 [debug] QUERY OK source="media_items" db=1.6ms idle=794.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:12:00.721 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:12:00.722 [debug] QUERY OK source="settings" db=0.3ms 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 [] 21:12:00.724 [debug] QUERY OK source="settings" db=1.2ms 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 [] 21:12:00.726 [debug] QUERY OK source="tasks" db=0.5ms idle=7.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"] 21:12:00.729 [debug] QUERY OK source="media_items" db=1.5ms 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)) [] 21:12:00.730 [debug] QUERY OK source="media_items" db=0.9ms idle=8.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] 21:12:00.732 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=9.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 21:12:00.751 [debug] QUERY OK source="media_items" db=13.4ms queue=0.1ms idle=13.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:12:00.754 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=25.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] 21:12:00.755 [debug] QUERY OK source="sources" db=0.3ms idle=25.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 21:12:00.759 [info] Sent 200 in 47ms 21:12:00.881 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:12:05.354 [info] {"source":"oban","duration":1904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:35.357 [info] {"source":"oban","duration":1807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:00.882 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:13:05.361 [info] {"source":"oban","duration":1936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:35.362 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:00.884 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:14:05.365 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:35.366 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:00.885 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:15:05.370 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:35.374 [info] {"source":"oban","duration":3399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:00.889 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:16:05.376 [info] {"source":"oban","duration":1682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:30.621 [info] GET / 21:16:30.621 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:16:30.622 [debug] QUERY OK source="settings" db=0.6ms idle=1549.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:16:30.623 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1550.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:16:30.624 [debug] QUERY OK source="sources" db=0.4ms idle=1551.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:16:30.630 [debug] QUERY OK source="media_items" db=5.6ms queue=0.1ms idle=1129.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:16:30.632 [debug] QUERY OK source="media_items" db=1.6ms queue=0.2ms idle=133.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:16:30.633 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=10.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:16:30.634 [debug] QUERY OK source="settings" db=0.7ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:16:30.636 [debug] QUERY OK source="settings" db=0.3ms idle=11.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:16:30.638 [debug] QUERY OK source="tasks" db=0.5ms idle=7.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"] 21:16:30.641 [debug] QUERY OK source="media_items" db=1.6ms 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)) [] 21:16:30.642 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=8.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:16:30.644 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=9.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 21:16:30.660 [debug] QUERY OK source="media_items" db=9.9ms idle=13.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:16:30.662 [debug] QUERY OK source="media_items" db=1.1ms idle=21.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] 21:16:30.663 [debug] QUERY OK source="sources" db=0.7ms idle=21.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 21:16:30.668 [info] Sent 200 in 47ms 21:16:35.380 [info] {"source":"oban","duration":1639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:00.893 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:17:05.381 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:35.386 [info] {"source":"oban","duration":2110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:00.894 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:18:05.388 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:35.389 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:00.895 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:19:05.393 [info] {"source":"oban","duration":1848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:24.413 [info] GET / 21:19:24.414 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:19:24.414 [debug] QUERY OK source="settings" db=0.1ms idle=1342.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:19:24.414 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1342.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:19:24.415 [debug] QUERY OK source="sources" db=0.1ms idle=1342.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:19:24.417 [debug] QUERY OK source="media_items" db=1.8ms idle=563.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:19:24.417 [debug] QUERY OK source="media_items" db=0.5ms idle=344.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:19:24.418 [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 [] 21:19:24.418 [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 [] 21:19:24.419 [debug] QUERY OK source="settings" db=0.4ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:19:24.420 [debug] QUERY OK source="tasks" db=0.1ms idle=2.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"] 21:19:24.420 [debug] QUERY OK source="media_items" db=0.6ms idle=2.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)) [] 21:19:24.421 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:19:24.422 [debug] QUERY OK source="sources" db=0.1ms queue=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" IN (?,?,?)) [6, 7, 8] 21:19:24.429 [debug] QUERY OK source="media_items" db=5.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"))) [] 21:19:24.430 [debug] QUERY OK source="media_items" db=0.6ms idle=9.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:19:24.430 [debug] QUERY OK source="sources" db=0.1ms idle=9.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 21:19:24.433 [info] Sent 200 in 19ms 21:19:35.394 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:00.896 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:20:05.396 [info] {"source":"oban","duration":1857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:35.399 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:00.897 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:21:05.401 [info] {"source":"oban","duration":1843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:35.404 [info] {"source":"oban","duration":1016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:00.898 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:22:05.405 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:35.407 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:00.899 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:23:05.408 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:35.410 [info] {"source":"oban","duration":1311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:00.900 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:24:05.411 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:35.413 [info] {"source":"oban","duration":892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:00.901 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:25:05.416 [info] {"source":"oban","duration":1031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:35.417 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:00.902 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:26:05.418 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:35.419 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:00.903 [info] {"source":"oban","duration":148,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:27:05.420 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:35.422 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:00.904 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:28:05.423 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:35.425 [info] {"source":"oban","duration":873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:00.905 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:29:05.427 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:35.428 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:00.906 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:30:05.429 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:35.430 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:00.907 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:31:05.431 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:35.432 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:00.908 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:32:05.434 [info] {"source":"oban","duration":1033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:35.435 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:00.910 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:33:05.436 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:35.437 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:00.911 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:34:05.438 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:35.440 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:00.912 [info] {"source":"oban","duration":141,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:35:05.441 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:35.442 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:00.913 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:36:05.444 [info] {"source":"oban","duration":1310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:35.445 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:00.914 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:37:05.447 [info] {"source":"oban","duration":1217,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:35.449 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:00.915 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:38:05.450 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:35.452 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:00.916 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:39:05.454 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:35.455 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:00.917 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:40:05.456 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:35.459 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:00.918 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:41:05.461 [info] {"source":"oban","duration":1837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:35.463 [info] {"source":"oban","duration":871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:00.919 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:42:05.466 [info] {"source":"oban","duration":1462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:35.468 [info] {"source":"oban","duration":1424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:00.921 [info] {"source":"oban","duration":1023,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:43:05.469 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:35.471 [info] {"source":"oban","duration":1282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:00.922 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:44:05.473 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:35.474 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:00.923 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:45:05.475 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:35.476 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:00.925 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:46:05.479 [info] {"source":"oban","duration":1695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:35.481 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:00.926 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:47:05.483 [info] {"source":"oban","duration":1251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:35.485 [info] {"source":"oban","duration":1164,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:00.927 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:48:05.490 [info] {"source":"oban","duration":4091,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:35.491 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:00.928 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:49:05.493 [info] {"source":"oban","duration":1350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:35.494 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:00.929 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:50:05.496 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:35.498 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:00.931 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:51:05.499 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:35.502 [info] {"source":"oban","duration":1131,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:00.933 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:52:05.504 [info] {"source":"oban","duration":1285,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:35.506 [info] {"source":"oban","duration":1265,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:00.934 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:53:05.508 [info] {"source":"oban","duration":1296,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:35.509 [info] {"source":"oban","duration":946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:00.935 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:54:05.512 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:35.514 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:00.936 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:55:05.516 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:35.517 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:00.937 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:56:05.519 [info] {"source":"oban","duration":919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:35.521 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:00.938 [info] {"source":"oban","duration":324,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:57:05.524 [info] {"source":"oban","duration":1512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:35.527 [info] {"source":"oban","duration":1388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:00.939 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:58:05.528 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:35.531 [info] {"source":"oban","duration":1214,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:00.941 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:59:05.533 [info] {"source":"oban","duration":1333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:35.535 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:00.942 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:00:05.537 [info] {"source":"oban","duration":1441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:35.540 [info] {"source":"oban","duration":1460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:00.943 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:01:05.543 [info] {"source":"oban","duration":1336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:35.545 [info] {"source":"oban","duration":1488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:00.946 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:02:05.548 [info] {"source":"oban","duration":1480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:35.551 [info] {"source":"oban","duration":876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:00.947 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:03:05.553 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:35.555 [info] {"source":"oban","duration":1497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:00.948 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:04:05.557 [info] {"source":"oban","duration":1333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:35.559 [info] {"source":"oban","duration":1634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:00.949 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:05:05.561 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:35.563 [info] {"source":"oban","duration":1293,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:00.950 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:06:05.565 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:35.567 [info] {"source":"oban","duration":1441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:00.952 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:07:05.569 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:35.571 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:00.953 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:08:05.573 [info] {"source":"oban","duration":1458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:35.575 [info] {"source":"oban","duration":1420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:00.954 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:09:05.578 [info] {"source":"oban","duration":1974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:35.580 [info] {"source":"oban","duration":1467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:00.956 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:10:05.583 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:35.585 [info] {"source":"oban","duration":1865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:00.957 [info] {"source":"oban","duration":159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:11:05.589 [info] {"source":"oban","duration":2054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:35.591 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:00.958 [info] {"source":"oban","duration":166,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:12:05.593 [info] {"source":"oban","duration":1326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:35.595 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:00.959 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:13:05.598 [info] {"source":"oban","duration":1971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:35.601 [info] {"source":"oban","duration":2394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:00.961 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:14:05.603 [info] {"source":"oban","duration":1295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:35.605 [info] {"source":"oban","duration":1442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:00.962 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:15:05.607 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:35.608 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:00.963 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:16:05.611 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:35.615 [info] {"source":"oban","duration":2686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:00.965 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:17:05.617 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:35.620 [info] {"source":"oban","duration":1964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:00.966 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:18:05.622 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:35.624 [info] {"source":"oban","duration":1488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:56.807 [info] GET / 22:18:56.807 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:18:56.809 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1699.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:18:56.811 [info] GET / 22:18:56.811 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:18:56.811 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.6ms idle=1701.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:18:56.812 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1703.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:18:56.813 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=1295.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:18:56.813 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.5ms idle=295.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:18:56.814 [debug] QUERY OK source="sources" db=0.3ms idle=2.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:18:56.816 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=4.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:18:56.816 [debug] QUERY OK source="media_items" db=1.9ms idle=1.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:18:56.817 [debug] QUERY OK source="media_items" db=0.6ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:18:56.817 [debug] QUERY OK source="media_items" db=0.6ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:18:56.817 [debug] QUERY OK source="settings" db=0.1ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:18:56.817 [debug] QUERY OK source="settings" db=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 [] 22:18:56.817 [debug] QUERY OK source="settings" db=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:18:56.818 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:18:56.818 [debug] QUERY OK source="settings" db=0.8ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:18:56.819 [debug] QUERY OK source="tasks" db=0.3ms idle=1.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"] 22:18:56.819 [debug] QUERY OK source="settings" db=0.3ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:18:56.820 [debug] QUERY OK source="media_items" db=0.7ms idle=1.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)) [] 22:18:56.820 [debug] QUERY OK source="tasks" db=0.3ms idle=1.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 22:18:56.821 [debug] QUERY OK source="media_items" db=0.4ms idle=2.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:18:56.821 [debug] QUERY OK source="sources" db=0.3ms idle=1.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 22:18:56.822 [debug] QUERY OK source="media_items" db=1.2ms idle=1.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)) [] 22:18:56.822 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:18:56.823 [debug] QUERY OK source="sources" db=0.4ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 22:18:56.828 [debug] QUERY OK source="media_items" db=5.1ms idle=2.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:18:56.829 [debug] QUERY OK source="media_items" db=0.6ms idle=6.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:18:56.830 [debug] QUERY OK source="sources" db=0.2ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 22:18:56.831 [debug] QUERY OK source="media_items" db=5.1ms queue=0.7ms 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"))) [] 22:18:56.832 [debug] QUERY OK source="media_items" db=0.6ms idle=8.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:18:56.832 [info] Sent 200 in 21ms 22:18:56.832 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 22:18:56.834 [info] Sent 200 in 27ms 22:19:00.967 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:19:05.626 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:35.628 [info] {"source":"oban","duration":1485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:00.969 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:20:05.630 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:35.632 [info] {"source":"oban","duration":1462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:00.970 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:21:05.635 [info] {"source":"oban","duration":1912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:35.637 [info] {"source":"oban","duration":1437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:00.972 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:22:05.639 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:35.641 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:00.974 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:23:05.643 [info] {"source":"oban","duration":1090,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:35.645 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:00.976 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:24:05.647 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:35.649 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:00.977 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:25:05.652 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:35.654 [info] {"source":"oban","duration":1315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:00.979 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:26:05.657 [info] {"source":"oban","duration":2866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:35.660 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:00.980 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:27:05.663 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:35.664 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:00.981 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:28:05.666 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:35.668 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:00.982 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:29:05.670 [info] {"source":"oban","duration":1868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:35.672 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:00.983 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:30:05.674 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:35.676 [info] {"source":"oban","duration":1046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:00.984 [info] {"source":"oban","duration":282,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:31:05.678 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:35.679 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:00.985 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:32:05.682 [info] {"source":"oban","duration":2394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:35.684 [info] {"source":"oban","duration":1454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:00.986 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:33:05.686 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:35.688 [info] {"source":"oban","duration":1471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:00.987 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:34:05.690 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:35.692 [info] {"source":"oban","duration":1388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:00.988 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:35:05.694 [info] {"source":"oban","duration":1353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:35.696 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:00.989 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:36:05.699 [info] {"source":"oban","duration":1355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:35.702 [info] {"source":"oban","duration":2600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:00.990 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:37:05.703 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:35.706 [info] {"source":"oban","duration":1498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:00.991 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:38:05.708 [info] {"source":"oban","duration":1482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:35.711 [info] {"source":"oban","duration":1351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:00.992 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:39:05.714 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:35.718 [info] {"source":"oban","duration":3261,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:00.993 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:40:05.720 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:35.723 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:00.994 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:41:05.725 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:32.687 [info] GET / 22:41:32.688 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:41:32.689 [debug] QUERY OK source="settings" db=1.1ms idle=1535.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:41:32.690 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1537.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:41:32.690 [debug] QUERY OK source="sources" db=0.2ms idle=1322.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:41:32.693 [debug] QUERY OK source="media_items" db=2.4ms queue=0.2ms idle=538.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:41:32.696 [debug] QUERY OK source="media_items" db=2.1ms idle=324.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:41:32.697 [debug] QUERY OK source="settings" db=0.2ms queue=0.3ms 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 [] 22:41:32.698 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:41:32.699 [debug] QUERY OK source="settings" db=0.4ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:41:32.700 [debug] QUERY OK source="tasks" db=0.2ms 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"] 22:41:32.702 [debug] QUERY OK source="media_items" db=1.4ms 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)) [] 22:41:32.702 [debug] QUERY OK source="media_items" db=0.5ms idle=4.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:41:32.703 [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" IN (?,?,?)) [6, 7, 8] 22:41:32.710 [debug] QUERY OK source="media_items" db=4.9ms 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"))) [] 22:41:32.711 [debug] QUERY OK source="media_items" db=0.5ms idle=10.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:41:32.712 [debug] QUERY OK source="sources" db=0.1ms idle=9.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 22:41:32.714 [info] Sent 200 in 26ms 22:41:34.024 [info] CONNECTED TO Phoenix.LiveView.Socket in 67µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YAVJAzsJWQ1SLkg6AAsAOwI_All1Mzw60ixMio-k1dpQpGPSJnH6BcYC", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.fisean.duckdns.org/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.fisean.duckdns.org/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 22:41:34.220 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "Pl1NRftfcJ8kpLPhHQJo7Pey", "media_state" => "downloaded"} 22:41:34.222 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=848.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)) [] 22:41:34.224 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=70.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] 22:41:34.226 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=73.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 22:41:34.226 [debug] Replied in 7ms 22:41:34.235 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "Pl1NRftfcJ8kpLPhHQJo7Pey", "media_state" => "pending"} 22:41:34.248 [debug] QUERY OK source="media_items" db=13.2ms idle=83.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"))) [] 22:41:34.252 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=96.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:41:34.254 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=31.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 22:41:34.254 [debug] Replied in 19ms 22:41:34.257 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "Pl1NRftfcJ8kpLPhHQJo7Pey"} 22:41:34.258 [debug] QUERY OK source="tasks" db=0.6ms idle=33.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"] 22:41:34.259 [debug] Replied in 1ms 22:41:35.727 [info] {"source":"oban","duration":1341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:39.296 [info] GET / 22:41:39.296 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:41:39.297 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=1144.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:41:39.298 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1145.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:41:39.299 [debug] QUERY OK source="sources" db=0.1ms idle=912.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:41:39.302 [debug] QUERY OK source="media_items" db=3.6ms idle=147.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:41:39.305 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=151.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:41:39.305 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:41:39.306 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:41:39.308 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:41:39.310 [debug] QUERY OK source="tasks" db=0.6ms idle=6.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 22:41:39.313 [debug] QUERY OK source="media_items" db=1.6ms queue=0.3ms idle=6.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:41:39.314 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms 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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:41:39.316 [debug] QUERY OK source="sources" db=0.5ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 22:41:39.335 [debug] QUERY OK source="media_items" db=12.8ms queue=0.1ms idle=14.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:41:39.339 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=25.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:41:39.340 [debug] QUERY OK source="sources" db=0.4ms idle=26.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 22:41:39.343 [info] Sent 200 in 46ms 22:41:40.581 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YCMwPw9TGT1TPR0NL25mVT0JHztzGSYzYBrHE6iV5ktTAYVxl02r6wKK", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.fisean.duckdns.org/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.fisean.duckdns.org/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 22:41:40.781 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "9aBwJepkfViYn70-Q9-IEnmx", "media_state" => "downloaded"} 22:41:40.784 [debug] QUERY OK source="media_items" db=2.0ms idle=1446.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)) [] 22:41:40.786 [debug] QUERY OK source="media_items" db=1.2ms idle=1445.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] 22:41:40.787 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1446.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 22:41:40.788 [debug] Replied in 6ms 22:41:40.795 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "9aBwJepkfViYn70-Q9-IEnmx", "media_state" => "pending"} 22:41:40.808 [debug] QUERY OK source="media_items" db=12.9ms idle=1406.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:41:40.810 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=418.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] 22:41:40.812 [debug] QUERY OK source="sources" db=0.6ms idle=27.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 22:41:40.812 [debug] Replied in 17ms 22:41:40.817 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "9aBwJepkfViYn70-Q9-IEnmx"} 22:41:40.818 [debug] QUERY OK source="tasks" db=0.5ms idle=32.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"] 22:41:40.819 [debug] Replied in 1ms 22:42:00.996 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:42:05.731 [info] {"source":"oban","duration":3156,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:35.733 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:00.997 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:43:05.735 [info] {"source":"oban","duration":1268,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:35.737 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:00.998 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:44:05.740 [info] {"source":"oban","duration":1730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:35.743 [info] {"source":"oban","duration":1502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:00.999 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:45:05.746 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:35.748 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:01.000 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:46:05.751 [info] {"source":"oban","duration":1922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:35.754 [info] {"source":"oban","duration":1996,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:00.002 [info] {"source":"oban","duration":331,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:47:05.757 [info] {"source":"oban","duration":1867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:35.759 [info] {"source":"oban","duration":1489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:36.538 [info] GET / 22:47:36.538 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:47:36.540 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1383.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:47:36.540 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.2ms idle=1384.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:47:36.541 [debug] QUERY OK source="sources" db=0.4ms idle=1385.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:47:36.543 [debug] QUERY OK source="media_items" db=1.6ms idle=782.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:47:36.544 [debug] QUERY OK source="media_items" db=0.6ms idle=416.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:47:36.544 [debug] QUERY OK source="settings" db=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:47:36.545 [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 [] 22:47:36.545 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:47:36.547 [debug] QUERY OK source="tasks" db=0.5ms idle=3.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"] 22:47:36.548 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:47:36.549 [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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:47:36.549 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 22:47:36.557 [debug] QUERY OK source="media_items" db=5.6ms idle=5.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:47:36.558 [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" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:47:36.559 [debug] QUERY OK source="sources" db=0.2ms idle=10.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 22:47:36.561 [info] Sent 200 in 22ms 22:47:37.024 [info] GET /css/support_parent.css 22:47:37.025 [debug] QUERY OK source="settings" db=0.3ms idle=475.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:47:37.026 [debug] QUERY OK source="settings" db=0.8ms idle=475.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:47:37.026 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:47:37.027 [error] #PID<0.147120.0> running PinchflatWeb.Endpoint (connection #PID<0.147117.0>, stream id 3) terminated Server: pinchflat.fisean.duckdns.org: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.147117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60372}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.147120.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, 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.fisean.duckdns.org"}, {"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", "84.254.106.197"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTbpW3ycFGF0eoAB-gj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60372}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /css/support_parent (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60372}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.147120.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>], (truncated) 22:47:39.356 [info] GET /js/lkk_ch.js 22:47:39.357 [debug] QUERY OK source="settings" db=0.3ms idle=1201.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:47:39.358 [debug] QUERY OK source="settings" db=0.8ms idle=1202.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:47:39.358 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:47:39.359 [error] #PID<0.147126.0> running PinchflatWeb.Endpoint (connection #PID<0.147117.0>, stream id 7) terminated Server: pinchflat.fisean.duckdns.org: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.147117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60372}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.147126.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, 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.fisean.duckdns.org"}, {"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", "84.254.106.197"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTbpfjw5eyZ2DAAB-hD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60372}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/lkk_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60372}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.147126.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 => "http (truncated) 22:47:39.414 [info] GET /js/twint_ch.js 22:47:39.414 [debug] QUERY OK source="settings" db=0.1ms idle=1258.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:47:39.414 [debug] QUERY OK source="settings" db=0.1ms idle=1259.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:47:39.414 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:47:39.415 [error] #PID<0.147127.0> running PinchflatWeb.Endpoint (connection #PID<0.147117.0>, stream id 8) terminated Server: pinchflat.fisean.duckdns.org: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.147117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60372}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.147127.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, 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.fisean.duckdns.org"}, {"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", "84.254.106.197"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTbpfxlqJopyIcAB-hj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60372}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/twint_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60372}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.147127.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_r (truncated) 22:48:00.003 [info] {"source":"oban","duration":286,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:48:05.763 [info] {"source":"oban","duration":3570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:35.765 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:00.004 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:49:05.768 [info] {"source":"oban","duration":1895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:25.962 [info] GET / 22:49:25.963 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:49:25.963 [debug] QUERY OK source="settings" db=0.4ms idle=806.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:49:25.964 [debug] QUERY OK source="media_profiles" db=0.4ms idle=807.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:49:25.965 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=808.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:49:25.969 [debug] QUERY OK source="media_items" db=3.9ms idle=809.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:49:25.972 [debug] QUERY OK source="media_items" db=1.6ms queue=0.5ms idle=605.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:49:25.973 [debug] QUERY OK source="settings" db=0.4ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:49:25.974 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:49:25.975 [debug] QUERY OK source="settings" db=0.3ms idle=9.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:49:25.977 [debug] QUERY OK source="tasks" db=0.5ms idle=7.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 22:49:25.980 [debug] QUERY OK source="media_items" db=1.6ms 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 (m0."media_filepath" IS NULL)) [] 22:49:25.981 [debug] QUERY OK source="media_items" db=1.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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:49:25.983 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=8.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 22:49:26.002 [debug] QUERY OK source="media_items" db=12.9ms idle=13.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:49:26.006 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=24.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:49:26.008 [debug] QUERY OK source="sources" db=1.8ms idle=26.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 22:49:26.013 [info] Sent 200 in 51ms 22:49:35.771 [info] {"source":"oban","duration":2005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:00.006 [info] {"source":"oban","duration":273,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:50:05.773 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:35.775 [info] {"source":"oban","duration":1485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:00.008 [info] {"source":"oban","duration":1070,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:51:05.777 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:35.780 [info] {"source":"oban","duration":1592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:00.009 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:52:05.782 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:35.784 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:00.010 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:53:05.787 [info] {"source":"oban","duration":1915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:35.789 [info] {"source":"oban","duration":1501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:00.011 [info] {"source":"oban","duration":154,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:54:05.792 [info] {"source":"oban","duration":1381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:35.793 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:00.012 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:55:05.795 [info] {"source":"oban","duration":1419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:35.797 [info] {"source":"oban","duration":1525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:00.013 [info] {"source":"oban","duration":165,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:56:05.800 [info] {"source":"oban","duration":1440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:35.802 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:00.014 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:57:05.804 [info] {"source":"oban","duration":1652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:35.806 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:00.015 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:58:05.809 [info] {"source":"oban","duration":1421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:35.812 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:00.016 [info] {"source":"oban","duration":212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:59:05.814 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:07.064 [info] GET / 22:59:07.064 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:59:07.066 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=1902.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:59:07.066 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1904.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:59:07.067 [debug] QUERY OK source="sources" db=0.1ms idle=1488.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:59:07.069 [debug] QUERY OK source="media_items" db=1.9ms idle=1252.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:59:07.070 [debug] QUERY OK source="media_items" db=0.7ms idle=488.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:59:07.070 [debug] QUERY OK source="settings" db=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:59:07.070 [debug] QUERY OK source="settings" db=0.1ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:59:07.071 [debug] QUERY OK source="settings" db=0.0ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:59:07.072 [debug] QUERY OK source="tasks" db=0.2ms idle=2.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"] 22:59:07.073 [debug] QUERY OK source="media_items" db=0.6ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:59:07.073 [debug] QUERY OK source="media_items" db=0.3ms idle=2.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] 22:59:07.074 [debug] QUERY OK source="sources" db=0.2ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 22:59:07.081 [debug] QUERY OK source="media_items" db=4.7ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:59:07.081 [debug] QUERY OK source="media_items" db=0.5ms idle=8.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:59:07.082 [debug] QUERY OK source="sources" db=0.1ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 22:59:07.084 [info] Sent 200 in 19ms 22:59:35.816 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:00.017 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:00:05.819 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:35.822 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:00.018 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:01:05.824 [info] {"source":"oban","duration":1439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:35.825 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:00.019 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:02:05.826 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:35.828 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:00.020 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:03:05.830 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:35.832 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:00.021 [info] {"source":"oban","duration":165,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:04:05.835 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:35.837 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:00.022 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:05:05.840 [info] {"source":"oban","duration":1470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:35.842 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:00.023 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:06:05.845 [info] {"source":"oban","duration":1835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:35.848 [info] {"source":"oban","duration":2512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:00.024 [info] {"source":"oban","duration":144,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:07:05.850 [info] {"source":"oban","duration":1440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:35.852 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:00.028 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:08:05.854 [info] {"source":"oban","duration":1424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:35.856 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:00.029 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:09:05.858 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:35.860 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:00.030 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:10:05.862 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:35.864 [info] {"source":"oban","duration":1471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:00.031 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:11:05.867 [info] {"source":"oban","duration":1491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:35.870 [info] {"source":"oban","duration":2538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:00.032 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:12:05.873 [info] {"source":"oban","duration":1940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:35.875 [info] {"source":"oban","duration":1694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:00.033 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:13:05.878 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:35.881 [info] {"source":"oban","duration":2495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:00.034 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:14:05.883 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:35.885 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:00.035 [info] {"source":"oban","duration":317,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:15:05.888 [info] {"source":"oban","duration":1342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:35.890 [info] {"source":"oban","duration":1864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:00.036 [info] {"source":"oban","duration":324,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:16:05.893 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:35.895 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:00.037 [info] {"source":"oban","duration":159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:17:05.897 [info] {"source":"oban","duration":1347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:35.899 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:00.038 [info] {"source":"oban","duration":280,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:18:05.901 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:35.903 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:00.039 [info] {"source":"oban","duration":315,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:19:05.906 [info] {"source":"oban","duration":1904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:35.908 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:00.040 [info] {"source":"oban","duration":262,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:20:05.910 [info] {"source":"oban","duration":1388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:35.912 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:53.445 [info] GET / 23:20:53.445 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 23:20:53.446 [debug] QUERY OK source="settings" db=0.6ms idle=262.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:20:53.446 [debug] QUERY OK source="media_profiles" db=0.1ms idle=263.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 23:20:53.447 [debug] QUERY OK source="sources" db=0.6ms idle=263.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 23:20:53.452 [debug] QUERY OK source="media_items" db=5.0ms idle=264.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:20:53.454 [debug] QUERY OK source="media_items" db=1.4ms idle=51.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:20:53.454 [debug] QUERY OK source="settings" db=0.1ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:20:53.455 [debug] QUERY OK source="settings" db=0.2ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:20:53.456 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:20:53.458 [debug] QUERY OK source="tasks" db=1.1ms idle=4.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"] 23:20:53.460 [debug] QUERY OK source="media_items" db=1.6ms 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)) [] 23:20:53.462 [debug] QUERY OK source="media_items" db=1.8ms 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] 23:20:53.464 [debug] QUERY OK source="sources" db=1.2ms idle=7.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 23:20:53.472 [debug] QUERY OK source="media_items" db=6.2ms idle=10.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 23:20:53.473 [debug] QUERY OK source="media_items" db=0.6ms idle=14.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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] 23:20:53.474 [debug] QUERY OK source="sources" db=0.5ms idle=13.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 23:20:53.475 [info] Sent 200 in 30ms 23:20:57.177 [info] GET /sources/6/media/25854 23:20:57.179 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "25854", "source_id" => "6"} Pipelines: [:browser] 23:20:57.181 [debug] QUERY OK source="media_items" db=0.4ms idle=1997.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [25854] 23:20:57.187 [debug] QUERY OK source="sources" db=0.2ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:20:57.187 [debug] QUERY OK source="tasks" db=1.0ms idle=780.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [25854] 23:20:57.188 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=4.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [413] 23:20:57.189 [debug] QUERY OK source="settings" db=0.2ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:20:57.189 [debug] QUERY OK source="settings" db=0.1ms queue=0.3ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:20:57.190 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:20:57.194 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:20:57.203 [info] Sent 200 in 25ms 23:20:59.936 [info] GET /sources/3 23:20:59.938 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 23:20:59.941 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=757.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:20:59.942 [debug] QUERY OK source="media_profiles" db=0.6ms idle=758.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:20:59.949 [debug] QUERY OK source="tasks" db=4.8ms idle=761.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 23:20:59.950 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=766.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [405] 23:20:59.951 [debug] QUERY OK source="settings" db=0.5ms idle=540.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:20:59.952 [debug] QUERY OK source="settings" db=0.3ms idle=10.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:20:59.953 [debug] QUERY OK source="settings" db=0.4ms idle=10.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:20:59.959 [debug] QUERY OK source="sources" db=0.2ms idle=9.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:20:59.963 [debug] QUERY OK source="media_items" db=0.7ms idle=11.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 23:20:59.963 [debug] QUERY OK source="media_items" db=0.5ms idle=11.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 23:20:59.965 [debug] QUERY OK source="sources" db=0.1ms idle=13.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:20:59.965 [debug] QUERY OK source="media_items" db=0.0ms idle=12.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 23:20:59.966 [debug] QUERY OK source="media_items" db=0.2ms idle=6.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 23:20:59.967 [debug] QUERY OK source="sources" db=0.1ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:20:59.967 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [3] 23:20:59.968 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 23:20:59.970 [info] Sent 200 in 33ms 23:21:00.041 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:21:02.561 [info] GET /app_info 23:21:02.562 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 23:21:02.567 [debug] QUERY OK source="settings" db=1.2ms idle=1381.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:02.568 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1384.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:02.577 [debug] QUERY OK source="settings" db=3.6ms queue=3.4ms idle=1386.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:02.582 [debug] QUERY OK source="settings" db=0.5ms queue=0.4ms idle=1166.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:02.583 [debug] QUERY OK source="settings" db=0.8ms idle=165.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:02.586 [info] Sent 200 in 24ms 23:21:04.833 [info] GET /sources/4 23:21:04.834 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "4"} Pipelines: [:browser] 23:21:04.835 [debug] QUERY OK source="sources" db=0.5ms idle=651.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:21:04.836 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=652.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" = ?) [2] 23:21:04.841 [debug] QUERY OK source="tasks" db=3.8ms queue=0.1ms idle=653.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 (?,?,?,?)) [4, "executing", "available", "scheduled", "retryable"] 23:21:04.842 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=658.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [403] 23:21:04.843 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=422.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:04.844 [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 [] 23:21:04.845 [debug] QUERY OK source="settings" db=0.4ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:04.847 [debug] QUERY OK source="sources" db=0.1ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:21:04.849 [debug] QUERY OK source="media_items" db=2.5ms idle=5.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [4] 23:21:04.851 [debug] QUERY OK source="media_items" db=1.5ms idle=6.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 23:21:04.852 [debug] QUERY OK source="sources" db=0.1ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:21:04.853 [debug] QUERY OK source="media_items" db=0.2ms idle=7.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [4] 23:21:04.854 [debug] QUERY OK source="media_items" db=0.7ms idle=6.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 23:21:04.855 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [4] 23:21:04.856 [debug] QUERY OK source="media_items" db=1.3ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [4] 23:21:04.858 [debug] QUERY OK source="media_items" db=1.5ms idle=3.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 23:21:04.859 [info] Sent 200 in 25ms 23:21:05.914 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:06.875 [info] GET /sources/8/media/25812 23:21:06.876 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "25812", "source_id" => "8"} Pipelines: [:browser] 23:21:06.876 [debug] QUERY OK source="media_items" db=0.3ms idle=961.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [25812] 23:21:06.877 [debug] QUERY OK source="tasks" db=0.1ms idle=693.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [25812] 23:21:06.877 [debug] QUERY OK source="sources" db=0.3ms idle=693.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:21:06.877 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=694.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" = ?) [408] 23:21:06.878 [debug] QUERY OK source="settings" db=0.1ms idle=456.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:06.878 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:06.879 [debug] QUERY OK source="settings" db=0.5ms 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 [] 23:21:06.880 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:06.881 [info] Sent 200 in 6ms 23:21:08.780 [info] GET /settings 23:21:08.780 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 23:21:08.782 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=597.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:08.790 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=606.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:08.791 [debug] QUERY OK source="settings" db=0.4ms idle=607.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:08.792 [debug] QUERY OK source="settings" db=0.2ms idle=608.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:08.804 [info] Sent 200 in 23ms 23:21:10.417 [info] GET /sources/4/media/21197 23:21:10.417 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21197", "source_id" => "4"} Pipelines: [:browser] 23:21:10.417 [debug] QUERY OK source="media_items" db=0.1ms idle=987.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [21197] 23:21:10.418 [debug] QUERY OK source="tasks" db=0.2ms idle=234.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [21197] 23:21:10.418 [debug] QUERY OK source="sources" db=0.2ms idle=234.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:21:10.420 [debug] QUERY OK source="oban_jobs" db=1.5ms idle=235.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [288] 23:21:10.420 [debug] QUERY OK source="settings" db=0.1ms idle=237.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:10.421 [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 [] 23:21:10.421 [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 [] 23:21:10.423 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:21:10.424 [info] Sent 200 in 7ms 23:21:11.849 [info] GET /sources/4/media/21198 23:21:11.850 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21198", "source_id" => "4"} Pipelines: [:browser] 23:21:11.851 [debug] QUERY OK source="media_items" db=0.4ms idle=1429.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" = ?) [21198] 23:21:11.852 [debug] QUERY OK source="tasks" db=0.6ms idle=1429.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [21198] 23:21:11.852 [debug] QUERY OK source="sources" db=0.8ms idle=1428.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:21:11.855 [debug] QUERY OK source="oban_jobs" db=1.8ms idle=1422.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [289] 23:21:11.856 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=424.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:11.857 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:11.858 [debug] QUERY OK source="settings" db=0.4ms 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 [] 23:21:11.861 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=7.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:21:11.865 [info] Sent 200 in 15ms 23:21:13.274 [info] GET /sources/6/media/25116 23:21:13.274 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "25116", "source_id" => "6"} Pipelines: [:browser] 23:21:13.275 [debug] QUERY OK source="media_items" db=0.5ms idle=841.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" = ?) [25116] 23:21:13.277 [debug] QUERY OK source="tasks" db=0.6ms idle=93.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [25116] 23:21:13.277 [debug] QUERY OK source="sources" db=0.7ms idle=93.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:21:13.280 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=96.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [376] 23:21:13.281 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=97.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:13.282 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 23:21:13.283 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:13.285 [debug] QUERY OK source="media_profiles" db=0.4ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:13.291 [info] Sent 200 in 16ms 23:21:14.507 [info] GET /sources 23:21:14.507 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 23:21:14.510 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1227.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:14.510 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1226.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:14.512 [debug] QUERY OK source="settings" db=0.4ms idle=1225.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:14.514 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1079.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:14.515 [debug] QUERY OK source="settings" db=0.2ms idle=79.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:14.539 [debug] QUERY OK source="sources" db=18.9ms queue=0.1ms idle=10.8ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 23:21:14.551 [debug] QUERY OK source="sources" db=9.5ms queue=0.1ms idle=30.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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] 23:21:14.562 [info] Sent 200 in 55ms 23:21:15.599 [info] GET /media_profiles 23:21:15.600 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 23:21:15.604 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=1089.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 23:21:15.606 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1091.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:15.607 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1067.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:15.609 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=1057.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:15.615 [info] Sent 200 in 15ms 23:21:16.641 [info] GET /sources/6 23:21:16.642 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 23:21:16.643 [debug] QUERY OK source="sources" db=0.5ms idle=1038.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:21:16.644 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=1037.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:16.647 [debug] QUERY OK source="tasks" db=2.3ms queue=0.1ms idle=1037.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 (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 23:21:16.648 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=1038.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" = ?) [414] 23:21:16.649 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=210.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:16.650 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=6.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:16.652 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:16.655 [debug] QUERY OK source="sources" db=0.3ms idle=7.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:21:16.664 [debug] QUERY OK source="media_items" db=7.8ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 23:21:16.673 [debug] QUERY OK source="media_items" db=8.5ms queue=0.1ms idle=15.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 23:21:16.675 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=24.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:21:16.677 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=23.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 23:21:16.680 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=21.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 23:21:16.682 [debug] QUERY OK source="sources" db=0.2ms idle=18.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:21:16.687 [debug] QUERY OK source="media_items" db=4.7ms idle=9.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 23:21:16.693 [debug] QUERY OK source="media_items" db=5.4ms idle=12.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 23:21:16.696 [info] Sent 200 in 54ms 23:21:17.558 [info] GET /sources/8 23:21:17.558 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "8"} Pipelines: [:browser] 23:21:17.559 [debug] QUERY OK source="sources" db=0.4ms idle=878.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:21:17.562 [debug] QUERY OK source="media_profiles" db=0.4ms idle=878.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:17.563 [debug] QUERY OK source="tasks" db=1.1ms queue=0.1ms idle=874.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [8, "executing", "available", "scheduled", "retryable"] 23:21:17.565 [debug] QUERY OK source="oban_jobs" db=0.9ms queue=0.1ms idle=870.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [409] 23:21:17.566 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=125.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:17.568 [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 [] 23:21:17.569 [debug] QUERY OK source="settings" db=0.3ms idle=6.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:17.572 [debug] QUERY OK source="sources" db=0.5ms queue=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:21:17.574 [debug] QUERY OK source="media_items" db=0.7ms idle=8.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")))) [8] 23:21:17.575 [debug] QUERY OK source="media_items" db=1.1ms idle=7.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 23:21:17.577 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:21:17.578 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=8.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [8] 23:21:17.579 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=5.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 23:21:17.582 [debug] QUERY OK source="sources" db=0.3ms idle=7.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:21:17.583 [debug] QUERY OK source="media_items" db=0.6ms queue=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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [8] 23:21:17.585 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=6.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 23:21:17.587 [info] Sent 200 in 29ms 23:21:18.373 [info] GET /download_logs 23:21:18.373 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 23:21:18.374 [info] Sent 200 in 586µs 23:21:19.471 [info] GET /sources/7 23:21:19.472 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 23:21:19.473 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=289.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:21:19.474 [debug] QUERY OK source="media_profiles" db=0.3ms idle=290.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] 23:21:19.475 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=291.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [7, "executing", "available", "scheduled", "retryable"] 23:21:19.476 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=292.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [411] 23:21:19.477 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=34.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:19.478 [debug] QUERY OK source="settings" db=0.6ms 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 [] 23:21:19.480 [debug] QUERY OK source="settings" db=1.2ms 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 [] 23:21:19.484 [debug] QUERY OK source="sources" db=0.3ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:21:19.487 [debug] QUERY OK source="media_items" db=2.8ms idle=8.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 23:21:19.492 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=11.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 23:21:19.494 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=15.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:21:19.496 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=14.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 23:21:19.498 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=12.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 23:21:19.500 [debug] QUERY OK source="sources" db=0.4ms idle=12.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:21:19.503 [debug] QUERY OK source="media_items" db=2.0ms idle=8.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [7] 23:21:19.505 [debug] QUERY OK source="media_items" db=2.1ms idle=8.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 ? [7, 10, 0] 23:21:19.508 [info] Sent 200 in 36ms 23:21:20.150 [info] GET /sources/3/media/526 23:21:20.151 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "526", "source_id" => "3"} Pipelines: [:browser] 23:21:20.153 [debug] QUERY OK source="media_items" db=1.5ms idle=655.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [526] 23:21:20.154 [debug] QUERY OK source="sources" db=0.5ms idle=653.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:20.156 [debug] QUERY OK source="tasks" db=1.9ms queue=0.1ms idle=655.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" [526] 23:21:20.156 [debug] QUERY OK source="settings" db=0.1ms idle=653.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:20.157 [debug] QUERY OK source="settings" db=0.3ms idle=651.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:20.157 [debug] QUERY OK source="settings" db=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:20.158 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:20.161 [info] Sent 200 in 10ms 23:21:20.718 [info] GET /sources/3/media/529 23:21:20.719 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "529", "source_id" => "3"} Pipelines: [:browser] 23:21:20.720 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=562.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" = ?) [529] 23:21:20.723 [debug] QUERY OK source="tasks" db=0.9ms idle=564.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" [529] 23:21:20.723 [debug] QUERY OK source="sources" db=1.1ms idle=564.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:20.724 [debug] QUERY OK source="settings" db=0.3ms idle=565.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:20.725 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=280.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:20.725 [debug] QUERY OK source="settings" db=0.1ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:20.726 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:20.727 [info] Sent 200 in 8ms 23:21:21.263 [info] GET /sources/3/media/510 23:21:21.264 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "510", "source_id" => "3"} Pipelines: [:browser] 23:21:21.268 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=541.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" = ?) [510] 23:21:21.270 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=545.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" [510] 23:21:21.271 [debug] QUERY OK source="sources" db=1.6ms idle=544.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:21.273 [debug] QUERY OK source="oban_jobs" db=1.3ms queue=0.1ms idle=546.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" = ?) [284] 23:21:21.274 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=547.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:21.275 [debug] QUERY OK source="settings" db=1.1ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:21.277 [debug] QUERY OK source="settings" db=0.4ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:21.280 [debug] QUERY OK source="media_profiles" db=2.4ms idle=6.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:21.283 [info] Sent 200 in 20ms 23:21:21.801 [info] GET /sources/3/media/524 23:21:21.801 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "524", "source_id" => "3"} Pipelines: [:browser] 23:21:21.802 [debug] QUERY OK source="media_items" db=0.4ms idle=527.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" = ?) [524] 23:21:21.804 [debug] QUERY OK source="tasks" db=0.4ms idle=527.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" [524] 23:21:21.804 [debug] QUERY OK source="sources" db=0.8ms idle=526.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:21.805 [debug] QUERY OK source="settings" db=0.1ms idle=524.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:21.806 [debug] QUERY OK source="settings" db=0.2ms idle=360.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:21.806 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:21:21.807 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:21.808 [info] Sent 200 in 7ms 23:21:22.323 [info] GET /sources/3/media/516 23:21:22.323 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "516", "source_id" => "3"} Pipelines: [:browser] 23:21:22.325 [debug] QUERY OK source="media_items" db=0.5ms idle=519.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [516] 23:21:22.326 [debug] QUERY OK source="tasks" db=0.6ms queue=0.2ms idle=519.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" [516] 23:21:22.327 [debug] QUERY OK source="sources" db=1.6ms queue=0.1ms idle=519.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:22.330 [debug] QUERY OK source="oban_jobs" db=2.3ms idle=521.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [36] 23:21:22.333 [debug] QUERY OK source="settings" db=0.4ms queue=1.5ms idle=523.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:22.334 [debug] QUERY OK source="settings" db=0.8ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:22.336 [debug] QUERY OK source="settings" db=0.5ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:22.340 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.4ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:22.345 [info] Sent 200 in 21ms 23:21:22.853 [info] GET /sources/5 23:21:22.853 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "5"} Pipelines: [:browser] 23:21:22.855 [debug] QUERY OK source="sources" db=0.7ms idle=521.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:21:22.856 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=521.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:22.857 [debug] QUERY OK source="tasks" db=0.7ms idle=520.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [5, "executing", "available", "scheduled", "retryable"] 23:21:22.858 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=517.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [407] 23:21:22.859 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=411.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:22.859 [debug] QUERY OK source="settings" db=0.3ms 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 [] 23:21:22.861 [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 [] 23:21:22.864 [debug] QUERY OK source="sources" db=0.3ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:21:22.866 [debug] QUERY OK source="media_items" db=1.3ms queue=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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [5] 23:21:22.869 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=7.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [5, 10, 0] 23:21:22.870 [debug] QUERY OK source="sources" db=0.3ms idle=10.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:21:22.871 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=9.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [5] 23:21:22.872 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=7.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [5, 10, 0] 23:21:22.874 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:21:22.876 [debug] QUERY OK source="media_items" db=1.4ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [5] 23:21:22.879 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=6.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [5, 10, 0] 23:21:22.883 [info] Sent 200 in 29ms 23:21:23.383 [info] GET /sources/9 23:21:23.383 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "9"} Pipelines: [:browser] 23:21:23.386 [debug] QUERY OK source="sources" db=1.2ms idle=513.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:21:23.388 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=514.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:23.391 [debug] QUERY OK source="tasks" db=2.4ms queue=0.1ms idle=514.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [9, "executing", "available", "scheduled", "retryable"] 23:21:23.392 [debug] QUERY OK source="oban_jobs" db=1.0ms idle=515.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [404] 23:21:23.394 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=514.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:23.396 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:23.400 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=9.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:23.403 [debug] QUERY OK source="sources" db=1.1ms idle=11.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:21:23.405 [debug] QUERY OK source="media_items" db=1.3ms idle=11.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 23:21:23.407 [debug] QUERY OK source="media_items" db=1.7ms idle=11.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [9, 10, 0] 23:21:23.408 [debug] QUERY OK source="sources" db=0.2ms idle=11.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:21:23.409 [debug] QUERY OK source="media_items" db=0.1ms idle=8.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 23:21:23.410 [debug] QUERY OK source="media_items" db=0.7ms idle=5.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [9, 10, 0] 23:21:23.412 [debug] QUERY OK source="sources" db=0.5ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:21:23.413 [debug] QUERY OK source="media_items" db=0.9ms idle=5.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [9] 23:21:23.415 [debug] QUERY OK source="media_items" db=1.5ms idle=5.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [9, 10, 0] 23:21:23.418 [info] Sent 200 in 34ms 23:21:23.917 [info] GET /sources/6/media/20432 23:21:23.917 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "20432", "source_id" => "6"} Pipelines: [:browser] 23:21:23.919 [debug] QUERY OK source="media_items" db=0.6ms idle=508.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" = ?) [20432] 23:21:23.920 [debug] QUERY OK source="tasks" db=0.3ms idle=507.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" [20432] 23:21:23.921 [debug] QUERY OK source="sources" db=1.0ms idle=505.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:21:23.922 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=505.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [260] 23:21:23.922 [debug] QUERY OK source="settings" db=0.1ms idle=474.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:23.922 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:21:23.923 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:23.923 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:23.925 [info] Sent 200 in 8ms 23:21:24.444 [info] GET /sources/2 23:21:24.448 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 23:21:24.449 [debug] QUERY OK source="sources" db=0.3ms idle=526.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:21:24.449 [debug] QUERY OK source="media_profiles" db=0.3ms idle=526.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:24.450 [debug] QUERY OK source="tasks" db=0.3ms idle=526.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 23:21:24.451 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=526.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" = ?) [406] 23:21:24.451 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:24.451 [debug] QUERY OK source="settings" db=0.2ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:24.453 [debug] QUERY OK source="settings" db=0.4ms 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 [] 23:21:24.455 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:21:24.457 [debug] QUERY OK source="media_items" db=1.8ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 23:21:24.460 [debug] QUERY OK source="media_items" db=2.6ms idle=6.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 23:21:24.462 [debug] QUERY OK source="sources" db=0.2ms idle=10.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:21:24.463 [debug] QUERY OK source="media_items" db=0.4ms idle=9.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 23:21:24.464 [debug] QUERY OK source="media_items" db=0.8ms idle=8.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 23:21:24.464 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [2] 23:21:24.465 [debug] QUERY OK source="media_items" db=0.7ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 23:21:24.467 [debug] QUERY OK source="media_items" db=1.3ms idle=3.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 23:21:24.469 [info] Sent 200 in 24ms 23:21:25.021 [info] GET /sources/6/media/3247 23:21:25.021 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3247", "source_id" => "6"} Pipelines: [:browser] 23:21:25.022 [debug] QUERY OK source="media_items" db=0.5ms idle=559.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3247] 23:21:25.024 [debug] QUERY OK source="tasks" db=1.0ms idle=559.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3247] 23:21:25.025 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=558.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:21:25.026 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=559.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:25.027 [debug] QUERY OK source="settings" db=0.4ms idle=559.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:25.028 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:21:25.029 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:25.030 [info] Sent 200 in 9ms 23:21:25.489 [info] GET /sources/7/media/6053 23:21:25.489 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6053", "source_id" => "7"} Pipelines: [:browser] 23:21:25.491 [debug] QUERY OK source="media_items" db=1.9ms idle=463.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6053] 23:21:25.494 [debug] QUERY OK source="tasks" db=1.8ms idle=464.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6053] 23:21:25.494 [debug] QUERY OK source="sources" db=2.5ms idle=463.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:21:25.495 [debug] QUERY OK source="settings" db=0.6ms idle=465.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:25.497 [debug] QUERY OK source="settings" db=0.8ms queue=0.5ms idle=43.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:25.498 [debug] QUERY OK source="settings" db=0.3ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:25.499 [debug] QUERY OK source="media_profiles" db=0.8ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:25.501 [info] Sent 200 in 12ms 23:21:26.043 [info] GET /sources/6/media/3244 23:21:26.043 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3244", "source_id" => "6"} Pipelines: [:browser] 23:21:26.044 [debug] QUERY OK source="media_items" db=0.3ms idle=548.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3244] 23:21:26.044 [debug] QUERY OK source="tasks" db=0.3ms idle=548.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3244] 23:21:26.046 [debug] QUERY OK source="sources" db=1.4ms idle=547.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:21:26.046 [debug] QUERY OK source="settings" db=0.1ms idle=548.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:26.047 [debug] QUERY OK source="settings" db=0.3ms idle=547.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:26.048 [debug] QUERY OK source="settings" db=0.1ms 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 [] 23:21:26.048 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:26.051 [info] Sent 200 in 8ms 23:21:26.585 [info] GET /sources/6/media/3249 23:21:26.585 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3249", "source_id" => "6"} Pipelines: [:browser] 23:21:26.587 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=539.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" = ?) [3249] 23:21:26.590 [debug] QUERY OK source="tasks" db=0.9ms queue=0.2ms idle=541.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3249] 23:21:26.590 [debug] QUERY OK source="sources" db=0.9ms queue=0.3ms idle=541.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:21:26.594 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms 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 [] 23:21:26.597 [debug] QUERY OK source="settings" db=2.6ms idle=141.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:26.598 [debug] QUERY OK source="settings" db=0.4ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:26.599 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:26.601 [info] Sent 200 in 16ms 23:21:27.130 [info] GET /sources/6/media/3241 23:21:27.130 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3241", "source_id" => "6"} Pipelines: [:browser] 23:21:27.131 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=540.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3241] 23:21:27.133 [debug] QUERY OK source="tasks" db=0.6ms idle=537.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" [3241] 23:21:27.133 [debug] QUERY OK source="sources" db=0.7ms idle=535.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:21:27.134 [debug] QUERY OK source="settings" db=0.4ms idle=535.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:27.135 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=535.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:27.136 [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 [] 23:21:27.138 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:27.142 [info] Sent 200 in 12ms 23:21:27.620 [info] GET /sources/7/media/6045 23:21:27.621 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6045", "source_id" => "7"} Pipelines: [:browser] 23:21:27.622 [debug] QUERY OK source="media_items" db=0.4ms idle=487.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6045] 23:21:27.624 [debug] QUERY OK source="tasks" db=1.3ms idle=487.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6045] 23:21:27.624 [debug] QUERY OK source="sources" db=1.7ms idle=486.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:21:27.628 [debug] QUERY OK source="settings" db=2.0ms idle=486.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:27.629 [debug] QUERY OK source="settings" db=0.8ms 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 [] 23:21:27.631 [debug] QUERY OK source="settings" db=0.4ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:27.633 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:27.637 [info] Sent 200 in 16ms 23:21:28.172 [info] GET /sources/8/media/9568 23:21:28.172 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "9568", "source_id" => "8"} Pipelines: [:browser] 23:21:28.174 [debug] QUERY OK source="media_items" db=0.4ms idle=548.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9568] 23:21:28.175 [debug] QUERY OK source="tasks" db=0.6ms idle=546.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [9568] 23:21:28.177 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=545.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:21:28.180 [debug] QUERY OK source="oban_jobs" db=2.3ms idle=546.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [56] 23:21:28.182 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=547.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:28.183 [debug] QUERY OK source="settings" db=0.8ms queue=0.5ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:28.187 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:28.190 [debug] QUERY OK source="media_profiles" db=0.9ms idle=12.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:28.195 [info] Sent 200 in 23ms 23:21:28.704 [info] GET /sources/5/media/1986 23:21:28.705 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1986", "source_id" => "5"} Pipelines: [:browser] 23:21:28.705 [debug] QUERY OK source="media_items" db=0.4ms idle=523.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1986] 23:21:28.709 [debug] QUERY OK source="tasks" db=3.0ms idle=522.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" [1986] 23:21:28.709 [debug] QUERY OK source="sources" db=3.2ms idle=518.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:21:28.709 [debug] QUERY OK source="settings" db=0.0ms idle=519.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:28.710 [debug] QUERY OK source="settings" db=0.0ms idle=253.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:28.710 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:21:28.711 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:28.712 [info] Sent 200 in 7ms 23:21:29.219 [info] GET /sources/5/media/1988 23:21:29.220 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1988", "source_id" => "5"} Pipelines: [:browser] 23:21:29.221 [debug] QUERY OK source="media_items" db=0.5ms idle=511.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1988] 23:21:29.222 [debug] QUERY OK source="tasks" db=0.3ms idle=511.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" [1988] 23:21:29.222 [debug] QUERY OK source="sources" db=0.7ms idle=511.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:21:29.223 [debug] QUERY OK source="settings" db=0.2ms idle=513.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:29.225 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=513.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:29.226 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:29.227 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:29.228 [info] Sent 200 in 9ms 23:21:29.786 [info] GET /sources/7/media/6049 23:21:29.787 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6049", "source_id" => "7"} Pipelines: [:browser] 23:21:29.789 [debug] QUERY OK source="media_items" db=0.9ms idle=564.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6049] 23:21:29.790 [debug] QUERY OK source="tasks" db=0.3ms idle=564.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" [6049] 23:21:29.791 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=563.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:21:29.792 [debug] QUERY OK source="settings" db=0.6ms idle=564.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:29.793 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=336.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:29.794 [debug] QUERY OK source="settings" db=0.2ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:29.797 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:29.800 [info] Sent 200 in 13ms 23:21:30.298 [info] GET /sources/6/media/3240 23:21:30.298 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3240", "source_id" => "6"} Pipelines: [:browser] 23:21:30.301 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=508.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" = ?) [3240] 23:21:30.303 [debug] QUERY OK source="tasks" db=1.5ms idle=509.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3240] 23:21:30.303 [debug] QUERY OK source="sources" db=1.6ms idle=508.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:21:30.306 [debug] QUERY OK source="settings" db=1.4ms idle=509.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:30.306 [debug] QUERY OK source="settings" db=0.4ms idle=508.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:30.308 [debug] QUERY OK source="settings" db=0.3ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:30.309 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:30.313 [info] Sent 200 in 15ms 23:21:30.831 [info] GET /sources/5/media/1992 23:21:30.831 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1992", "source_id" => "5"} Pipelines: [:browser] 23:21:30.832 [debug] QUERY OK source="media_items" db=0.4ms idle=526.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1992] 23:21:30.834 [debug] QUERY OK source="tasks" db=1.1ms idle=526.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1992] 23:21:30.836 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=525.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:21:30.837 [debug] QUERY OK source="settings" db=0.9ms idle=527.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:30.840 [debug] QUERY OK source="settings" db=1.5ms idle=380.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:30.841 [debug] QUERY OK source="settings" db=0.7ms 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 [] 23:21:30.844 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=8.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:30.847 [info] Sent 200 in 16ms 23:21:31.379 [info] GET /sources/7/media/6040 23:21:31.380 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6040", "source_id" => "7"} Pipelines: [:browser] 23:21:31.381 [debug] QUERY OK source="media_items" db=0.5ms idle=545.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6040] 23:21:31.383 [debug] QUERY OK source="tasks" db=1.2ms queue=0.1ms idle=544.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" [6040] 23:21:31.383 [debug] QUERY OK source="sources" db=1.6ms idle=542.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:21:31.386 [debug] QUERY OK source="settings" db=1.3ms queue=0.2ms idle=543.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:31.388 [debug] QUERY OK source="settings" db=0.7ms queue=1.0ms idle=542.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:31.392 [debug] QUERY OK source="settings" db=2.7ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:31.396 [debug] QUERY OK source="media_profiles" db=1.2ms idle=12.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:31.400 [info] Sent 200 in 20ms 23:21:31.937 [info] GET /sources/5/media/1997 23:21:31.937 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1997", "source_id" => "5"} Pipelines: [:browser] 23:21:31.939 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=551.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1997] 23:21:31.940 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=550.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" [1997] 23:21:31.941 [debug] QUERY OK source="sources" db=0.8ms idle=547.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:21:31.942 [debug] QUERY OK source="settings" db=0.9ms idle=545.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:31.943 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=484.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:31.944 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:31.946 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:31.949 [info] Sent 200 in 12ms 23:21:32.476 [info] GET /sources/7/media/6051 23:21:32.476 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6051", "source_id" => "7"} Pipelines: [:browser] 23:21:32.478 [debug] QUERY OK source="media_items" db=0.4ms idle=534.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" = ?) [6051] 23:21:32.479 [debug] QUERY OK source="tasks" db=0.1ms idle=535.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6051] 23:21:32.479 [debug] QUERY OK source="sources" db=0.5ms idle=534.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:21:32.480 [debug] QUERY OK source="settings" db=0.1ms idle=533.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:32.480 [debug] QUERY OK source="settings" db=0.2ms idle=20.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:32.480 [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 [] 23:21:32.481 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:32.482 [info] Sent 200 in 6ms 23:21:32.984 [info] GET /sources/6/media/3252 23:21:32.984 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3252", "source_id" => "6"} Pipelines: [:browser] 23:21:32.986 [debug] QUERY OK source="media_items" db=1.0ms idle=505.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3252] 23:21:32.987 [debug] QUERY OK source="tasks" db=0.3ms idle=507.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" [3252] 23:21:32.988 [debug] QUERY OK source="sources" db=0.5ms idle=506.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:21:32.989 [debug] QUERY OK source="settings" db=0.6ms idle=507.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:32.990 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=508.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:32.991 [debug] QUERY OK source="settings" db=0.5ms 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 [] 23:21:32.994 [debug] QUERY OK source="media_profiles" db=1.3ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:32.998 [info] Sent 200 in 14ms 23:21:33.481 [info] GET /sources/7/media/6047 23:21:33.482 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6047", "source_id" => "7"} Pipelines: [:browser] 23:21:33.483 [debug] QUERY OK source="media_items" db=0.4ms idle=493.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" = ?) [6047] 23:21:33.484 [debug] QUERY OK source="tasks" db=0.2ms idle=493.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" [6047] 23:21:33.485 [debug] QUERY OK source="sources" db=1.3ms idle=492.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:21:33.488 [debug] QUERY OK source="settings" db=0.3ms queue=1.4ms idle=491.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:33.489 [debug] QUERY OK source="settings" db=0.7ms queue=0.5ms idle=26.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:33.492 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms 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 [] 23:21:33.494 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.4ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:33.498 [info] Sent 200 in 16ms 23:21:34.009 [info] GET /sources/7/media/6057 23:21:34.009 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6057", "source_id" => "7"} Pipelines: [:browser] 23:21:34.011 [debug] QUERY OK source="media_items" db=1.1ms idle=524.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" = ?) [6057] 23:21:34.012 [debug] QUERY OK source="tasks" db=0.7ms idle=523.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" [6057] 23:21:34.012 [debug] QUERY OK source="sources" db=0.7ms idle=522.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:21:34.014 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=521.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:34.016 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=520.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:34.019 [debug] QUERY OK source="settings" db=1.3ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:34.021 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:34.025 [info] Sent 200 in 16ms 23:21:34.515 [info] GET /sources/5/media/1990 23:21:34.516 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1990", "source_id" => "5"} Pipelines: [:browser] 23:21:34.517 [debug] QUERY OK source="media_items" db=0.5ms idle=501.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1990] 23:21:34.518 [debug] QUERY OK source="sources" db=0.8ms idle=498.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:21:34.519 [debug] QUERY OK source="tasks" db=1.0ms idle=501.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" [1990] 23:21:34.521 [debug] QUERY OK source="settings" db=0.5ms idle=498.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:34.521 [debug] QUERY OK source="settings" db=0.2ms idle=58.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:34.522 [debug] QUERY OK source="settings" db=0.2ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:34.524 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:34.528 [info] Sent 200 in 11ms 23:21:35.040 [info] GET /sources/7/media/6055 23:21:35.040 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6055", "source_id" => "7"} Pipelines: [:browser] 23:21:35.042 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=522.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6055] 23:21:35.043 [debug] QUERY OK source="tasks" db=1.2ms idle=521.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" [6055] 23:21:35.044 [debug] QUERY OK source="sources" db=1.3ms idle=521.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:21:35.046 [debug] QUERY OK source="settings" db=1.4ms idle=522.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:35.047 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=522.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:35.049 [debug] QUERY OK source="settings" db=0.2ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:35.051 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=6.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:35.054 [info] Sent 200 in 14ms 23:21:35.550 [info] GET /sources/5/media/1984 23:21:35.550 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1984", "source_id" => "5"} Pipelines: [:browser] 23:21:35.551 [debug] QUERY OK source="media_items" db=0.4ms idle=504.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1984] 23:21:35.552 [debug] QUERY OK source="tasks" db=0.3ms idle=504.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1984] 23:21:35.553 [debug] QUERY OK source="sources" db=0.6ms idle=503.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:21:35.554 [debug] QUERY OK source="settings" db=0.3ms idle=502.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:35.555 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=91.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:35.556 [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 [] 23:21:35.558 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:35.562 [info] Sent 200 in 11ms 23:21:35.916 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:36.099 [info] GET /sources/7/media/6042 23:21:36.100 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6042", "source_id" => "7"} Pipelines: [:browser] 23:21:36.101 [debug] QUERY OK source="media_items" db=0.4ms idle=546.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" = ?) [6042] 23:21:36.102 [debug] QUERY OK source="tasks" db=0.4ms idle=546.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" [6042] 23:21:36.102 [debug] QUERY OK source="sources" db=0.5ms idle=545.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:21:36.103 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=544.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:36.104 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=187.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:36.105 [debug] QUERY OK source="settings" db=0.4ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:36.107 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 23:21:36.111 [info] Sent 200 in 11ms 23:21:36.604 [info] GET /sources/5/media/1998 23:21:36.604 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1998", "source_id" => "5"} Pipelines: [:browser] 23:21:36.605 [debug] QUERY OK source="media_items" db=0.4ms idle=501.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" = ?) [1998] 23:21:36.606 [debug] QUERY OK source="tasks" db=0.4ms idle=501.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1998] 23:21:36.607 [debug] QUERY OK source="sources" db=1.0ms idle=500.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:21:36.608 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=500.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:36.609 [debug] QUERY OK source="settings" db=0.2ms queue=0.3ms idle=143.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:36.611 [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 [] 23:21:36.613 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:36.616 [info] Sent 200 in 12ms 23:21:37.129 [info] GET /sources/3/media/517 23:21:37.130 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "517", "source_id" => "3"} Pipelines: [:browser] 23:21:37.131 [debug] QUERY OK source="media_items" db=0.6ms idle=523.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" = ?) [517] 23:21:37.132 [debug] QUERY OK source="sources" db=0.6ms idle=522.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:37.133 [debug] QUERY OK source="tasks" db=1.1ms idle=523.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [517] 23:21:37.134 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=522.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [35] 23:21:37.135 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=521.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:37.136 [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 [] 23:21:37.136 [debug] QUERY OK source="settings" db=0.1ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:37.137 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:37.138 [info] Sent 200 in 9ms 23:21:37.669 [info] GET /sources/3/media/507 23:21:37.669 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "507", "source_id" => "3"} Pipelines: [:browser] 23:21:37.671 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=535.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [507] 23:21:37.673 [debug] QUERY OK source="tasks" db=1.4ms queue=0.1ms idle=535.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" [507] 23:21:37.673 [debug] QUERY OK source="sources" db=1.6ms idle=535.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:37.675 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.2ms idle=537.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [285] 23:21:37.676 [debug] QUERY OK source="settings" db=0.7ms idle=209.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:37.677 [debug] QUERY OK source="settings" db=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 [] 23:21:37.677 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:37.678 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:37.681 [info] Sent 200 in 11ms 23:21:38.192 [info] GET /sources/3/media/520 23:21:38.192 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "520", "source_id" => "3"} Pipelines: [:browser] 23:21:38.193 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=517.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [520] 23:21:38.194 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=517.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" [520] 23:21:38.195 [debug] QUERY OK source="sources" db=0.7ms idle=517.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:38.196 [debug] QUERY OK source="settings" db=0.3ms idle=518.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:38.197 [debug] QUERY OK source="settings" db=0.0ms idle=518.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:38.197 [debug] QUERY OK source="settings" db=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:38.198 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:38.199 [info] Sent 200 in 7ms 23:21:38.726 [info] GET /sources/4/media/2411 23:21:38.726 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2411", "source_id" => "4"} Pipelines: [:browser] 23:21:38.727 [debug] QUERY OK source="media_items" db=0.5ms idle=530.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" = ?) [2411] 23:21:38.729 [debug] QUERY OK source="sources" db=0.6ms idle=530.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:21:38.729 [debug] QUERY OK source="tasks" db=0.8ms idle=531.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2411] 23:21:38.731 [debug] QUERY OK source="oban_jobs" db=1.7ms idle=531.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [266] 23:21:38.732 [debug] QUERY OK source="settings" db=0.2ms idle=264.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:38.733 [debug] QUERY OK source="settings" db=0.2ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:38.734 [debug] QUERY OK source="settings" db=0.4ms 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 [] 23:21:38.736 [debug] QUERY OK source="media_profiles" db=0.3ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:21:38.740 [info] Sent 200 in 14ms 23:21:39.261 [info] GET /sources/5/media/1995 23:21:39.262 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1995", "source_id" => "5"} Pipelines: [:browser] 23:21:39.263 [debug] QUERY OK source="media_items" db=0.4ms idle=531.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1995] 23:21:39.264 [debug] QUERY OK source="tasks" db=0.2ms idle=531.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1995] 23:21:39.265 [debug] QUERY OK source="sources" db=0.5ms idle=531.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:21:39.266 [debug] QUERY OK source="settings" db=0.2ms idle=531.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:39.266 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=529.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:39.267 [debug] QUERY OK source="settings" db=0.1ms 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 [] 23:21:39.268 [debug] QUERY OK source="media_profiles" db=0.6ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:39.270 [info] Sent 200 in 8ms 23:21:39.745 [info] GET /sources/7/media/6060 23:21:39.746 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6060", "source_id" => "7"} Pipelines: [:browser] 23:21:39.747 [debug] QUERY OK source="media_items" db=0.4ms idle=480.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6060] 23:21:39.748 [debug] QUERY OK source="sources" db=0.5ms idle=480.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:21:39.749 [debug] QUERY OK source="tasks" db=1.1ms queue=0.1ms idle=481.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6060] 23:21:39.750 [debug] QUERY OK source="settings" db=0.3ms idle=481.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:39.751 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=282.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:39.752 [debug] QUERY OK source="settings" db=0.3ms 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 [] 23:21:39.754 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 23:21:39.757 [info] Sent 200 in 11ms 23:21:40.292 [info] GET /sources/5/media/2002 23:21:40.292 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2002", "source_id" => "5"} Pipelines: [:browser] 23:21:40.293 [debug] QUERY OK source="media_items" db=0.4ms idle=543.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2002] 23:21:40.294 [debug] QUERY OK source="tasks" db=0.3ms idle=544.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" [2002] 23:21:40.295 [debug] QUERY OK source="sources" db=0.9ms idle=543.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:21:40.297 [debug] QUERY OK source="settings" db=1.1ms idle=543.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:40.298 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=543.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:40.299 [debug] QUERY OK source="settings" db=0.4ms 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 [] 23:21:40.300 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 23:21:40.301 [info] Sent 200 in 9ms 23:21:40.829 [info] GET /sources/5/media/2000 23:21:40.830 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2000", "source_id" => "5"} Pipelines: [:browser] 23:21:40.831 [debug] QUERY OK source="media_items" db=0.4ms idle=533.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2000] 23:21:40.831 [debug] QUERY OK source="tasks" db=0.2ms idle=533.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2000] 23:21:40.832 [debug] QUERY OK source="sources" db=1.1ms idle=532.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:21:40.834 [debug] QUERY OK source="settings" db=0.6ms idle=533.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:40.834 [debug] QUERY OK source="settings" db=0.2ms idle=363.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:40.834 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:21:40.835 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:40.836 [info] Sent 200 in 7ms 23:21:41.360 [info] GET /sources/3/media/435 23:21:41.361 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "435", "source_id" => "3"} Pipelines: [:browser] 23:21:41.362 [debug] QUERY OK source="media_items" db=0.5ms idle=529.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [435] 23:21:41.363 [debug] QUERY OK source="tasks" db=0.3ms idle=528.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [435] 23:21:41.363 [debug] QUERY OK source="sources" db=0.5ms idle=528.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:41.365 [debug] QUERY OK source="settings" db=0.7ms idle=529.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:41.366 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=530.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:41.367 [debug] QUERY OK source="settings" db=0.7ms 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 [] 23:21:41.369 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:41.373 [info] Sent 200 in 12ms 23:21:41.894 [info] GET /sources/2/media/324 23:21:41.894 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "324", "source_id" => "2"} Pipelines: [:browser] 23:21:41.895 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=529.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" = ?) [324] 23:21:41.897 [debug] QUERY OK source="tasks" db=0.4ms queue=0.2ms idle=530.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [324] 23:21:41.897 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=529.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:21:41.899 [debug] QUERY OK source="settings" db=1.0ms idle=528.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:41.900 [debug] QUERY OK source="settings" db=0.1ms idle=427.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:41.900 [debug] QUERY OK source="settings" db=0.1ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:41.901 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:41.902 [info] Sent 200 in 8ms 23:21:42.406 [info] GET /sources/3/media/431 23:21:42.406 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "431", "source_id" => "3"} Pipelines: [:browser] 23:21:42.407 [debug] QUERY OK source="media_items" db=0.8ms idle=508.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [431] 23:21:42.409 [debug] QUERY OK source="tasks" db=0.4ms queue=0.6ms idle=508.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [431] 23:21:42.409 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms idle=508.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:42.410 [debug] QUERY OK source="settings" db=0.1ms idle=509.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:42.410 [debug] QUERY OK source="settings" db=0.3ms idle=508.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:42.411 [debug] QUERY OK source="settings" db=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:42.411 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:42.413 [info] Sent 200 in 7ms 23:21:42.913 [info] GET /sources/3/media/442 23:21:42.913 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "442", "source_id" => "3"} Pipelines: [:browser] 23:21:42.914 [debug] QUERY OK source="media_items" db=0.4ms idle=504.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [442] 23:21:42.915 [debug] QUERY OK source="tasks" db=0.4ms idle=504.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" [442] 23:21:42.916 [debug] QUERY OK source="sources" db=0.6ms idle=504.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:42.917 [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 [] 23:21:42.917 [debug] QUERY OK source="settings" db=0.3ms idle=442.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:42.919 [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 [] 23:21:42.921 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:42.924 [info] Sent 200 in 11ms 23:21:43.457 [info] GET /sources/3/media/507 23:21:43.457 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "507", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 23:21:43.458 [debug] QUERY OK source="media_items" db=0.4ms idle=541.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" = ?) [507] 23:21:43.460 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=542.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [507] 23:21:43.462 [debug] QUERY OK source="sources" db=3.1ms idle=541.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:43.464 [debug] QUERY OK source="oban_jobs" db=1.5ms idle=544.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [285] 23:21:43.467 [debug] QUERY OK source="settings" db=0.9ms queue=1.0ms idle=543.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:43.468 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:43.470 [debug] QUERY OK source="settings" db=0.3ms idle=9.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:43.472 [debug] QUERY OK source="media_profiles" db=0.3ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:43.476 [info] Sent 200 in 19ms 23:21:43.971 [info] GET /sources/2/media/327 23:21:43.971 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "327", "source_id" => "2"} Pipelines: [:browser] 23:21:43.973 [debug] QUERY OK source="media_items" db=0.8ms idle=504.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [327] 23:21:43.974 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=504.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" [327] 23:21:43.975 [debug] QUERY OK source="sources" db=1.4ms idle=503.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:21:43.976 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=504.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:43.977 [debug] QUERY OK source="settings" db=0.1ms idle=496.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:43.977 [debug] QUERY OK source="settings" db=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:43.978 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:43.979 [info] Sent 200 in 8ms 23:21:44.501 [info] GET /sources/3/media/437 23:21:44.501 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "437", "source_id" => "3"} Pipelines: [:browser] 23:21:44.501 [debug] QUERY OK source="media_items" db=0.2ms idle=524.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [437] 23:21:44.502 [debug] QUERY OK source="tasks" db=0.2ms idle=524.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [437] 23:21:44.502 [debug] QUERY OK source="sources" db=0.3ms idle=524.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:44.502 [debug] QUERY OK source="settings" db=0.2ms idle=524.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:44.503 [debug] QUERY OK source="settings" db=0.2ms idle=21.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:44.503 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:44.504 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:44.505 [info] Sent 200 in 4ms 23:21:45.008 [info] GET /sources/3/media/537 23:21:45.009 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "537", "source_id" => "3"} Pipelines: [:browser] 23:21:45.010 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=507.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [537] 23:21:45.011 [debug] QUERY OK source="tasks" db=0.5ms queue=0.4ms idle=508.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [537] 23:21:45.013 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=508.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:45.014 [debug] QUERY OK source="settings" db=1.1ms idle=509.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:45.016 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=510.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:45.020 [debug] QUERY OK source="settings" db=2.8ms 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 [] 23:21:45.025 [debug] QUERY OK source="media_profiles" db=3.6ms idle=10.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:45.030 [info] Sent 200 in 21ms 23:21:45.520 [info] GET /sources/3/media/511 23:21:45.521 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "511", "source_id" => "3"} Pipelines: [:browser] 23:21:45.522 [debug] QUERY OK source="media_items" db=0.5ms idle=506.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [511] 23:21:45.523 [debug] QUERY OK source="tasks" db=0.4ms idle=506.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" [511] 23:21:45.524 [debug] QUERY OK source="sources" db=1.4ms idle=502.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:45.525 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=499.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [283] 23:21:45.528 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=42.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:45.529 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=6.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:45.532 [debug] QUERY OK source="settings" db=1.2ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:45.534 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:45.538 [info] Sent 200 in 18ms 23:21:46.069 [info] GET /sources/2/media/331 23:21:46.069 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "331", "source_id" => "2"} Pipelines: [:browser] 23:21:46.070 [debug] QUERY OK source="media_items" db=0.3ms idle=543.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [331] 23:21:46.070 [debug] QUERY OK source="tasks" db=0.3ms idle=541.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" [331] 23:21:46.071 [debug] QUERY OK source="sources" db=0.5ms idle=540.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:21:46.072 [debug] QUERY OK source="settings" db=0.8ms idle=539.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:46.073 [debug] QUERY OK source="settings" db=0.4ms idle=539.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:46.074 [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 [] 23:21:46.076 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:46.078 [info] Sent 200 in 9ms 23:21:46.605 [info] GET /sources/3/media/513 23:21:46.606 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "513", "source_id" => "3"} Pipelines: [:browser] 23:21:46.607 [debug] QUERY OK source="media_items" db=0.5ms idle=534.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" = ?) [513] 23:21:46.608 [debug] QUERY OK source="tasks" db=0.4ms idle=534.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [513] 23:21:46.608 [debug] QUERY OK source="sources" db=0.7ms idle=533.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:46.610 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=533.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" = ?) [37] 23:21:46.611 [debug] QUERY OK source="settings" db=0.2ms idle=123.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:46.611 [debug] QUERY OK source="settings" db=0.3ms 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 [] 23:21:46.613 [debug] QUERY OK source="settings" db=0.1ms 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 [] 23:21:46.613 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:46.615 [info] Sent 200 in 9ms 23:21:47.102 [info] GET /sources/2/media/326 23:21:47.102 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "326", "source_id" => "2"} Pipelines: [:browser] 23:21:47.102 [debug] QUERY OK source="media_items" db=0.1ms idle=492.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" = ?) [326] 23:21:47.102 [debug] QUERY OK source="tasks" db=0.1ms idle=491.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" [326] 23:21:47.103 [debug] QUERY OK source="sources" db=0.1ms idle=491.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:21:47.103 [debug] QUERY OK source="settings" db=0.0ms idle=490.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:47.103 [debug] QUERY OK source="settings" db=0.3ms idle=489.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:47.104 [debug] QUERY OK source="settings" db=0.7ms 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 [] 23:21:47.105 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 23:21:47.108 [info] Sent 200 in 6ms 23:21:47.616 [info] GET /sources/3/media/539 23:21:47.616 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "539", "source_id" => "3"} Pipelines: [:browser] 23:21:47.618 [debug] QUERY OK source="media_items" db=0.7ms idle=513.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" = ?) [539] 23:21:47.619 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=513.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:47.620 [debug] QUERY OK source="tasks" db=1.8ms idle=514.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" [539] 23:21:47.622 [debug] QUERY OK source="settings" db=1.0ms idle=515.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:47.622 [debug] QUERY OK source="settings" db=0.3ms idle=134.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:47.623 [debug] QUERY OK source="settings" db=0.1ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:47.624 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:47.625 [info] Sent 200 in 8ms 23:21:48.180 [info] GET /sources/2/media/330 23:21:48.180 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "330", "source_id" => "2"} Pipelines: [:browser] 23:21:48.181 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=560.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" = ?) [330] 23:21:48.183 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=559.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [330] 23:21:48.183 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=559.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:21:48.184 [debug] QUERY OK source="settings" db=0.3ms idle=560.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:48.185 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=561.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:48.187 [debug] QUERY OK source="settings" db=0.4ms 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 [] 23:21:48.189 [debug] QUERY OK source="media_profiles" db=0.6ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:48.193 [info] Sent 200 in 12ms 23:21:48.689 [info] GET /sources/3/media/522 23:21:48.690 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "522", "source_id" => "3"} Pipelines: [:browser] 23:21:48.690 [debug] QUERY OK source="media_items" db=0.3ms idle=505.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [522] 23:21:48.691 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=505.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [522] 23:21:48.692 [debug] QUERY OK source="sources" db=1.0ms idle=504.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:48.693 [debug] QUERY OK source="settings" db=0.3ms idle=503.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:48.694 [debug] QUERY OK source="settings" db=0.4ms idle=203.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:48.695 [debug] QUERY OK source="settings" db=0.2ms 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 [] 23:21:48.696 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:48.699 [info] Sent 200 in 10ms 23:21:49.228 [info] GET /sources/2/media/329 23:21:49.228 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "329", "source_id" => "2"} Pipelines: [:browser] 23:21:49.229 [debug] QUERY OK source="media_items" db=0.3ms idle=536.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [329] 23:21:49.230 [debug] QUERY OK source="tasks" db=0.3ms idle=536.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [329] 23:21:49.230 [debug] QUERY OK source="sources" db=0.4ms idle=535.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:21:49.231 [debug] QUERY OK source="settings" db=0.1ms idle=535.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:49.231 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=534.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:49.233 [debug] QUERY OK source="settings" db=0.3ms 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 [] 23:21:49.234 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:49.235 [info] Sent 200 in 7ms 23:21:49.747 [info] GET /sources/2/media/328 23:21:49.747 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "328", "source_id" => "2"} Pipelines: [:browser] 23:21:49.749 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=517.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [328] 23:21:49.750 [debug] QUERY OK source="tasks" db=0.5ms idle=517.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" [328] 23:21:49.751 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=516.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:21:49.752 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=518.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:49.753 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=259.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:49.755 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:49.757 [debug] QUERY OK source="media_profiles" db=0.5ms idle=6.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:49.761 [info] Sent 200 in 13ms 23:21:50.298 [info] GET /sources/3/media/530 23:21:50.298 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "530", "source_id" => "3"} Pipelines: [:browser] 23:21:50.299 [debug] QUERY OK source="media_items" db=0.5ms idle=547.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [530] 23:21:50.300 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=547.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [530] 23:21:50.301 [debug] QUERY OK source="sources" db=1.2ms idle=546.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:50.303 [debug] QUERY OK source="settings" db=0.8ms idle=546.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:50.303 [debug] QUERY OK source="settings" db=0.4ms 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 [] 23:21:50.305 [debug] QUERY OK source="settings" db=0.3ms 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 [] 23:21:50.307 [debug] QUERY OK source="media_profiles" db=0.4ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:50.310 [info] Sent 200 in 12ms 23:21:50.787 [info] GET /sources/3/media/439 23:21:50.787 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "439", "source_id" => "3"} Pipelines: [:browser] 23:21:50.788 [debug] QUERY OK source="media_items" db=0.5ms idle=484.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" = ?) [439] 23:21:50.790 [debug] QUERY OK source="tasks" db=0.8ms idle=485.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [439] 23:21:50.790 [debug] QUERY OK source="sources" db=1.1ms idle=484.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:50.793 [debug] QUERY OK source="settings" db=1.7ms idle=484.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:50.793 [debug] QUERY OK source="settings" db=0.3ms idle=297.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:50.794 [debug] QUERY OK source="settings" db=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 [] 23:21:50.794 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:50.796 [info] Sent 200 in 9ms 23:21:51.338 [info] GET /sources/2/media/325 23:21:51.338 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "325", "source_id" => "2"} Pipelines: [:browser] 23:21:51.339 [debug] QUERY OK source="media_items" db=0.4ms idle=548.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [325] 23:21:51.341 [debug] QUERY OK source="tasks" db=0.5ms queue=0.3ms idle=547.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" [325] 23:21:51.342 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=546.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:21:51.343 [debug] QUERY OK source="settings" db=0.3ms idle=548.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:51.344 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=548.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:51.345 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:51.347 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:51.351 [info] Sent 200 in 12ms 23:21:51.933 [info] GET /sources/3/media/535 23:21:51.933 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "535", "source_id" => "3"} Pipelines: [:browser] 23:21:51.934 [debug] QUERY OK source="media_items" db=0.5ms idle=590.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [535] 23:21:51.935 [debug] QUERY OK source="tasks" db=0.4ms idle=590.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [535] 23:21:51.936 [debug] QUERY OK source="sources" db=0.9ms idle=589.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:51.938 [debug] QUERY OK source="settings" db=1.0ms idle=589.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:51.939 [debug] QUERY OK source="settings" db=0.6ms idle=441.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:51.940 [debug] QUERY OK source="settings" db=0.9ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:51.941 [debug] QUERY OK source="media_profiles" db=0.6ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:51.943 [info] Sent 200 in 9ms 23:21:52.402 [info] GET /sources/2/media/332 23:21:52.402 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "332", "source_id" => "2"} Pipelines: [:browser] 23:21:52.403 [debug] QUERY OK source="media_items" db=0.4ms idle=466.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [332] 23:21:52.404 [debug] QUERY OK source="tasks" db=0.3ms idle=465.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" [332] 23:21:52.404 [debug] QUERY OK source="sources" db=0.3ms idle=464.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:21:52.405 [debug] QUERY OK source="settings" db=0.4ms idle=464.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:52.406 [debug] QUERY OK source="settings" db=0.5ms idle=463.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:52.407 [debug] QUERY OK source="settings" db=0.2ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:52.408 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:52.411 [info] Sent 200 in 8ms 23:21:52.971 [info] GET /sources/3/media/433 23:21:52.971 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "433", "source_id" => "3"} Pipelines: [:browser] 23:21:52.972 [debug] QUERY OK source="media_items" db=0.2ms idle=566.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [433] 23:21:52.973 [debug] QUERY OK source="tasks" db=0.1ms idle=566.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" [433] 23:21:52.973 [debug] QUERY OK source="sources" db=0.3ms idle=565.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:52.974 [debug] QUERY OK source="settings" db=0.2ms idle=565.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:52.974 [debug] QUERY OK source="settings" db=0.5ms idle=473.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:52.975 [debug] QUERY OK source="settings" db=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 [] 23:21:52.977 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:52.978 [info] Sent 200 in 6ms 23:21:53.488 [info] GET /sources/3/media/533 23:21:53.489 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "533", "source_id" => "3"} Pipelines: [:browser] 23:21:53.490 [debug] QUERY OK source="media_items" db=0.4ms idle=516.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [533] 23:21:53.491 [debug] QUERY OK source="tasks" db=0.3ms idle=517.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [533] 23:21:53.492 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=516.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:53.493 [debug] QUERY OK source="settings" db=0.5ms idle=517.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:53.495 [debug] QUERY OK source="settings" db=1.2ms idle=517.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:53.496 [debug] QUERY OK source="settings" db=0.3ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:53.499 [debug] QUERY OK source="media_profiles" db=0.8ms idle=6.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:53.503 [info] Sent 200 in 14ms 23:21:53.982 [info] GET /sources/3/media/444 23:21:53.982 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "444", "source_id" => "3"} Pipelines: [:browser] 23:21:53.984 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=489.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [444] 23:21:53.987 [debug] QUERY OK source="tasks" db=1.6ms queue=0.1ms idle=489.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" [444] 23:21:53.987 [debug] QUERY OK source="sources" db=1.9ms idle=488.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:21:53.990 [debug] QUERY OK source="settings" db=1.7ms idle=489.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:53.991 [debug] QUERY OK source="settings" db=0.7ms queue=0.5ms idle=482.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:53.993 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:53.996 [debug] QUERY OK source="media_profiles" db=0.5ms idle=8.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] 23:21:53.999 [info] Sent 200 in 17ms 23:21:54.511 [info] GET /sources/2/media/333 23:21:54.511 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "333", "source_id" => "2"} Pipelines: [:browser] 23:21:54.512 [debug] QUERY OK source="media_items" db=0.4ms idle=522.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" = ?) [333] 23:21:54.513 [debug] QUERY OK source="tasks" db=0.3ms idle=521.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [333] 23:21:54.514 [debug] QUERY OK source="sources" db=0.7ms idle=519.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:21:54.515 [debug] QUERY OK source="settings" db=0.4ms idle=518.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:54.516 [debug] QUERY OK source="settings" db=0.4ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:54.517 [debug] QUERY OK source="settings" db=0.4ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:54.519 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:54.522 [info] Sent 200 in 10ms 23:21:55.024 [info] GET /sources/9/media/16566 23:21:55.024 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16566", "source_id" => "9"} Pipelines: [:browser] 23:21:55.026 [debug] QUERY OK source="media_items" db=1.1ms idle=510.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16566] 23:21:55.026 [debug] QUERY OK source="tasks" db=0.1ms idle=510.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" [16566] 23:21:55.026 [debug] QUERY OK source="sources" db=0.2ms idle=510.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:21:55.027 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=509.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [66] 23:21:55.028 [debug] QUERY OK source="settings" db=0.2ms queue=0.3ms idle=508.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:55.028 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:55.029 [debug] QUERY OK source="settings" db=0.3ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:55.030 [debug] QUERY OK source="media_profiles" db=0.6ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:55.032 [info] Sent 200 in 8ms 23:21:55.531 [info] GET /sources/4/media/22002 23:21:55.531 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "22002", "source_id" => "4"} Pipelines: [:browser] 23:21:55.532 [debug] QUERY OK source="media_items" db=0.5ms idle=504.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [22002] 23:21:55.533 [debug] QUERY OK source="tasks" db=0.2ms idle=504.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" [22002] 23:21:55.534 [debug] QUERY OK source="sources" db=0.6ms idle=504.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:21:55.535 [debug] QUERY OK source="settings" db=0.5ms idle=504.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:55.536 [debug] QUERY OK source="settings" db=0.4ms idle=24.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:55.537 [debug] QUERY OK source="settings" db=0.2ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:55.539 [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" = ?) [2] 23:21:55.543 [info] Sent 200 in 11ms 23:21:56.045 [info] GET /sources/9/media/16966 23:21:56.045 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16966", "source_id" => "9"} Pipelines: [:browser] 23:21:56.048 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=511.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16966] 23:21:56.049 [debug] QUERY OK source="tasks" db=0.4ms idle=512.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [16966] 23:21:56.049 [debug] QUERY OK source="sources" db=0.6ms idle=512.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:21:56.051 [debug] QUERY OK source="settings" db=0.3ms idle=513.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:56.051 [debug] QUERY OK source="settings" db=0.1ms idle=511.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:56.052 [debug] QUERY OK source="settings" db=0.1ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:56.054 [debug] QUERY OK source="media_profiles" db=0.7ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:56.057 [info] Sent 200 in 11ms 23:21:56.613 [info] GET /sources/6/media/11561 23:21:56.613 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "11561", "source_id" => "6"} Pipelines: [:browser] 23:21:56.614 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=562.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" = ?) [11561] 23:21:56.616 [debug] QUERY OK source="tasks" db=0.5ms idle=564.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" [11561] 23:21:56.616 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=563.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:21:56.618 [debug] QUERY OK source="settings" db=0.4ms idle=563.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:56.619 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=104.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:56.620 [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 [] 23:21:56.622 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:56.625 [info] Sent 200 in 12ms 23:21:57.145 [info] GET /sources/6/media/24626 23:21:57.146 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "24626", "source_id" => "6"} Pipelines: [:browser] 23:21:57.147 [debug] QUERY OK source="media_items" db=0.4ms idle=529.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24626] 23:21:57.148 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=529.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [24626] 23:21:57.148 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=528.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:21:57.149 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=528.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [351] 23:21:57.151 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=528.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:57.151 [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 [] 23:21:57.153 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:57.155 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:57.160 [info] Sent 200 in 14ms 23:21:57.663 [info] GET /sources/9/media/16961 23:21:57.663 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16961", "source_id" => "9"} Pipelines: [:browser] 23:21:57.664 [debug] QUERY OK source="media_items" db=0.5ms idle=513.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16961] 23:21:57.665 [debug] QUERY OK source="tasks" db=0.3ms idle=513.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [16961] 23:21:57.666 [debug] QUERY OK source="sources" db=0.4ms idle=512.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:21:57.667 [debug] QUERY OK source="settings" db=0.3ms idle=511.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:57.668 [debug] QUERY OK source="settings" db=0.7ms idle=151.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:57.669 [debug] QUERY OK source="settings" db=0.2ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:57.671 [debug] QUERY OK source="media_profiles" db=0.6ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:57.675 [info] Sent 200 in 12ms 23:21:58.148 [info] GET /sources/4/media/21202 23:21:58.148 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21202", "source_id" => "4"} Pipelines: [:browser] 23:21:58.149 [debug] QUERY OK source="media_items" db=0.4ms idle=483.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" = ?) [21202] 23:21:58.150 [debug] QUERY OK source="tasks" db=0.3ms idle=483.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [21202] 23:21:58.151 [debug] QUERY OK source="sources" db=0.7ms idle=482.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:21:58.152 [debug] QUERY OK source="oban_jobs" db=0.7ms queue=0.1ms idle=482.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [293] 23:21:58.153 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=481.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:58.154 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:58.156 [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 [] 23:21:58.158 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:21:58.163 [info] Sent 200 in 14ms 23:21:58.707 [info] GET /sources/9/media/16959 23:21:58.708 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16959", "source_id" => "9"} Pipelines: [:browser] 23:21:58.709 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=554.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16959] 23:21:58.710 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=555.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [16959] 23:21:58.711 [debug] QUERY OK source="sources" db=1.1ms idle=554.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:21:58.713 [debug] QUERY OK source="settings" db=1.1ms idle=553.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:58.714 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=195.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:58.716 [debug] QUERY OK source="settings" db=0.6ms 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 [] 23:21:58.720 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.6ms idle=7.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:21:58.727 [info] Sent 200 in 19ms 23:21:59.261 [info] GET /sources/4/media/22004 23:21:59.261 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "22004", "source_id" => "4"} Pipelines: [:browser] 23:21:59.263 [debug] QUERY OK source="media_items" db=0.4ms idle=551.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [22004] 23:21:59.264 [debug] QUERY OK source="tasks" db=0.8ms idle=550.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [22004] 23:21:59.265 [debug] QUERY OK source="sources" db=1.9ms idle=549.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:21:59.267 [debug] QUERY OK source="settings" db=1.0ms idle=550.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:59.268 [debug] QUERY OK source="settings" db=0.8ms idle=547.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:59.270 [debug] QUERY OK source="settings" db=0.3ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:59.272 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=7.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:21:59.275 [info] Sent 200 in 14ms 23:21:59.769 [info] GET /media_profiles/2 23:21:59.769 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 23:21:59.770 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=502.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:21:59.773 [debug] QUERY OK source="sources" db=0.5ms idle=504.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 23:21:59.775 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=504.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:59.776 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=503.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:59.777 [debug] QUERY OK source="settings" db=0.2ms idle=256.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:21:59.782 [info] Sent 200 in 13ms 23:22:00.042 [info] {"source":"oban","duration":259,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:22:00.292 [info] GET /media_profiles/1 23:22:00.292 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 23:22:00.293 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=519.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:00.295 [debug] QUERY OK source="sources" db=0.7ms idle=519.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 23:22:00.296 [debug] QUERY OK source="settings" db=0.5ms idle=519.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:00.297 [debug] QUERY OK source="settings" db=0.4ms idle=519.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:00.298 [debug] QUERY OK source="settings" db=0.3ms idle=255.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:00.302 [info] Sent 200 in 9ms 23:22:00.829 [info] GET /media_profiles/2/ 23:22:00.829 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 23:22:00.830 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=535.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:00.831 [debug] QUERY OK source="sources" db=0.4ms idle=534.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 23:22:00.832 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=534.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:00.833 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=534.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:00.835 [debug] QUERY OK source="settings" db=0.5ms 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 [] 23:22:00.838 [info] Sent 200 in 8ms 23:22:01.315 [info] GET /media_profiles/1/ 23:22:01.315 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 23:22:01.316 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=485.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] 23:22:01.318 [debug] QUERY OK source="sources" db=0.7ms idle=485.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 23:22:01.319 [debug] QUERY OK source="settings" db=0.4ms idle=486.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:01.319 [debug] QUERY OK source="settings" db=0.2ms idle=486.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:01.321 [debug] QUERY OK source="settings" db=0.1ms idle=485.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:01.322 [info] Sent 200 in 7ms 23:22:01.853 [info] GET /sources/6/media/19764 23:22:01.853 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "19764", "source_id" => "6"} Pipelines: [:browser] 23:22:01.854 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=536.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [19764] 23:22:01.856 [debug] QUERY OK source="tasks" db=1.0ms queue=0.1ms idle=535.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [19764] 23:22:01.857 [debug] QUERY OK source="sources" db=1.4ms idle=535.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:22:01.858 [debug] QUERY OK source="oban_jobs" db=1.3ms idle=536.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [215] 23:22:01.860 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=334.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:01.861 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:01.862 [debug] QUERY OK source="settings" db=0.3ms 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 [] 23:22:01.864 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=6.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:01.869 [info] Sent 200 in 16ms 23:22:02.371 [info] GET /sources/7/media/24101 23:22:02.372 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "24101", "source_id" => "7"} Pipelines: [:browser] 23:22:02.373 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=513.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24101] 23:22:02.376 [debug] QUERY OK source="tasks" db=1.6ms queue=0.1ms idle=514.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [24101] 23:22:02.377 [debug] QUERY OK source="sources" db=2.6ms idle=513.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:22:02.378 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=515.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [321] 23:22:02.378 [debug] QUERY OK source="settings" db=0.2ms idle=513.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:02.379 [debug] QUERY OK source="settings" db=0.1ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:02.379 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:22:02.380 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:02.381 [info] Sent 200 in 10ms 23:22:02.868 [info] GET /sources/9/media/16569 23:22:02.868 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16569", "source_id" => "9"} Pipelines: [:browser] 23:22:02.871 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=490.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16569] 23:22:02.872 [debug] QUERY OK source="tasks" db=0.3ms idle=492.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" [16569] 23:22:02.873 [debug] QUERY OK source="sources" db=1.3ms idle=492.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:22:02.874 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=493.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [69] 23:22:02.875 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=348.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:02.876 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:02.877 [debug] QUERY OK source="settings" db=0.3ms 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 [] 23:22:02.878 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:02.884 [info] Sent 200 in 15ms 23:22:03.408 [info] GET /sources/7/media/19723 23:22:03.408 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "19723", "source_id" => "7"} Pipelines: [:browser] 23:22:03.409 [debug] QUERY OK source="media_items" db=0.3ms idle=534.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [19723] 23:22:03.410 [debug] QUERY OK source="tasks" db=0.2ms idle=534.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [19723] 23:22:03.410 [debug] QUERY OK source="sources" db=0.4ms idle=534.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:22:03.411 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=533.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [212] 23:22:03.412 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=532.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:03.412 [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 [] 23:22:03.413 [debug] QUERY OK source="settings" db=0.3ms 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 [] 23:22:03.414 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:03.416 [info] Sent 200 in 7ms 23:22:03.936 [info] GET /sources/7/media/20628 23:22:03.936 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "20628", "source_id" => "7"} Pipelines: [:browser] 23:22:03.937 [debug] QUERY OK source="media_items" db=0.2ms idle=524.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [20628] 23:22:03.938 [debug] QUERY OK source="sources" db=0.6ms idle=524.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:22:03.938 [debug] QUERY OK source="tasks" db=1.1ms idle=524.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" [20628] 23:22:03.939 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=524.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" = ?) [276] 23:22:03.939 [debug] QUERY OK source="settings" db=0.2ms idle=410.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:03.940 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:03.940 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:03.941 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:03.942 [info] Sent 200 in 6ms 23:22:04.464 [info] GET /sources/8/media/24100 23:22:04.464 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "24100", "source_id" => "8"} Pipelines: [:browser] 23:22:04.465 [debug] QUERY OK source="media_items" db=0.2ms idle=525.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24100] 23:22:04.466 [debug] QUERY OK source="tasks" db=0.4ms idle=525.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [24100] 23:22:04.466 [debug] QUERY OK source="sources" db=0.4ms idle=525.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:22:04.467 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=526.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [319] 23:22:04.467 [debug] QUERY OK source="settings" db=0.4ms idle=526.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:04.468 [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 [] 23:22:04.468 [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 [] 23:22:04.469 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:04.471 [info] Sent 200 in 6ms 23:22:05.039 [info] GET /sources/9/media/16965 23:22:05.039 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16965", "source_id" => "9"} Pipelines: [:browser] 23:22:05.041 [debug] QUERY OK source="media_items" db=1.2ms idle=571.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" = ?) [16965] 23:22:05.042 [debug] QUERY OK source="tasks" db=0.4ms idle=573.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [16965] 23:22:05.042 [debug] QUERY OK source="sources" db=0.6ms idle=572.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:22:05.043 [debug] QUERY OK source="settings" db=0.9ms idle=572.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:05.044 [debug] QUERY OK source="settings" db=0.3ms idle=512.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:05.045 [debug] QUERY OK source="settings" db=0.6ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:05.046 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:05.047 [info] Sent 200 in 8ms 23:22:05.546 [info] GET /sources/8/media/17568 23:22:05.547 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "17568", "source_id" => "8"} Pipelines: [:browser] 23:22:05.548 [debug] QUERY OK source="media_items" db=0.4ms idle=504.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" = ?) [17568] 23:22:05.549 [debug] QUERY OK source="tasks" db=0.4ms idle=504.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" [17568] 23:22:05.550 [debug] QUERY OK source="sources" db=1.0ms idle=503.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:22:05.551 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=504.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [82] 23:22:05.552 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=17.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:05.554 [debug] QUERY OK source="settings" db=0.6ms 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 [] 23:22:05.555 [debug] QUERY OK source="settings" db=0.4ms 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 [] 23:22:05.557 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:05.562 [info] Sent 200 in 15ms 23:22:05.918 [info] {"source":"oban","duration":1338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:06.073 [info] GET /sources/9/media/16564 23:22:06.073 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16564", "source_id" => "9"} Pipelines: [:browser] 23:22:06.074 [debug] QUERY OK source="media_items" db=0.4ms idle=520.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16564] 23:22:06.074 [debug] QUERY OK source="tasks" db=0.2ms idle=520.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [16564] 23:22:06.074 [debug] QUERY OK source="sources" db=0.2ms idle=519.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:22:06.075 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=517.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [64] 23:22:06.075 [debug] QUERY OK source="settings" db=0.1ms idle=156.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:06.075 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:06.076 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:06.077 [debug] QUERY OK source="media_profiles" db=0.6ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:06.079 [info] Sent 200 in 5ms 23:22:06.625 [info] GET /sources/9/media/16565 23:22:06.625 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16565", "source_id" => "9"} Pipelines: [:browser] 23:22:06.628 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=550.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" = ?) [16565] 23:22:06.629 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=553.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [16565] 23:22:06.630 [debug] QUERY OK source="sources" db=1.1ms idle=553.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:22:06.631 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms idle=553.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [65] 23:22:06.632 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=96.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:06.633 [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 [] 23:22:06.634 [debug] QUERY OK source="settings" db=0.1ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:06.634 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:06.636 [info] Sent 200 in 11ms 23:22:07.176 [info] GET /sources/4/media/22001 23:22:07.176 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "22001", "source_id" => "4"} Pipelines: [:browser] 23:22:07.178 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=545.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [22001] 23:22:07.180 [debug] QUERY OK source="tasks" db=1.3ms idle=546.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" [22001] 23:22:07.180 [debug] QUERY OK source="sources" db=1.5ms idle=545.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:22:07.181 [debug] QUERY OK source="settings" db=0.3ms 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 [] 23:22:07.182 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=547.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:07.183 [debug] QUERY OK source="settings" db=0.2ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:07.185 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:07.189 [info] Sent 200 in 13ms 23:22:07.696 [info] GET /sources/4/media/21199 23:22:07.696 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21199", "source_id" => "4"} Pipelines: [:browser] 23:22:07.697 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=515.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" = ?) [21199] 23:22:07.699 [debug] QUERY OK source="tasks" db=0.7ms idle=516.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [21199] 23:22:07.699 [debug] QUERY OK source="sources" db=1.1ms idle=514.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:22:07.702 [debug] QUERY OK source="oban_jobs" db=1.5ms queue=0.1ms idle=514.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [290] 23:22:07.702 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 23:22:07.703 [debug] QUERY OK source="settings" db=0.1ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:07.703 [debug] QUERY OK source="settings" db=0.1ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:07.704 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:07.705 [info] Sent 200 in 9ms 23:22:08.210 [info] GET /sources/8/media/20149 23:22:08.210 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "20149", "source_id" => "8"} Pipelines: [:browser] 23:22:08.211 [debug] QUERY OK source="media_items" db=0.2ms idle=509.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [20149] 23:22:08.212 [debug] QUERY OK source="tasks" db=0.4ms idle=508.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [20149] 23:22:08.212 [debug] QUERY OK source="sources" db=0.5ms idle=508.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:22:08.212 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=508.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [237] 23:22:08.213 [debug] QUERY OK source="settings" db=0.1ms idle=508.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:08.213 [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 [] 23:22:08.213 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:22:08.214 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:08.215 [info] Sent 200 in 4ms 23:22:08.733 [info] GET /sources/8/media/17561 23:22:08.733 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "17561", "source_id" => "8"} Pipelines: [:browser] 23:22:08.735 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=521.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [17561] 23:22:08.736 [debug] QUERY OK source="tasks" db=0.3ms idle=522.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [17561] 23:22:08.737 [debug] QUERY OK source="sources" db=1.5ms idle=521.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:22:08.738 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=523.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [78] 23:22:08.739 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=199.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:08.740 [debug] QUERY OK source="settings" db=0.9ms 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 [] 23:22:08.743 [debug] QUERY OK source="settings" db=1.6ms 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 [] 23:22:08.745 [debug] QUERY OK source="media_profiles" db=0.4ms idle=7.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:08.750 [info] Sent 200 in 17ms 23:22:09.234 [info] GET /sources/7/media/24342 23:22:09.235 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "24342", "source_id" => "7"} Pipelines: [:browser] 23:22:09.238 [debug] QUERY OK source="media_items" db=1.2ms idle=499.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24342] 23:22:09.241 [debug] QUERY OK source="sources" db=1.5ms idle=498.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:22:09.241 [debug] QUERY OK source="tasks" db=2.0ms idle=500.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [24342] 23:22:09.242 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=498.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [334] 23:22:09.243 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=497.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:09.243 [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 [] 23:22:09.244 [debug] QUERY OK source="settings" db=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 [] 23:22:09.246 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:09.248 [info] Sent 200 in 13ms 23:22:09.737 [info] GET /sources/6/media/11559 23:22:09.738 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "11559", "source_id" => "6"} Pipelines: [:browser] 23:22:09.739 [debug] QUERY OK source="media_items" db=0.5ms idle=495.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" = ?) [11559] 23:22:09.740 [debug] QUERY OK source="tasks" db=0.6ms idle=495.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [11559] 23:22:09.740 [debug] QUERY OK source="sources" db=0.5ms idle=495.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:22:09.742 [debug] QUERY OK source="settings" db=0.6ms idle=495.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:09.743 [debug] QUERY OK source="settings" db=0.6ms idle=200.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:09.744 [debug] QUERY OK source="settings" db=0.6ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:09.747 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:09.750 [info] Sent 200 in 12ms 23:22:10.243 [info] GET /sources/4/media/21206 23:22:10.243 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21206", "source_id" => "4"} Pipelines: [:browser] 23:22:10.245 [debug] QUERY OK source="media_items" db=0.5ms idle=503.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" = ?) [21206] 23:22:10.246 [debug] QUERY OK source="tasks" db=0.4ms idle=503.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" [21206] 23:22:10.246 [debug] QUERY OK source="sources" db=0.6ms idle=502.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:22:10.248 [debug] QUERY OK source="oban_jobs" db=1.7ms idle=502.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" = ?) [297] 23:22:10.250 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=502.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:10.250 [debug] QUERY OK source="settings" db=0.2ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:10.252 [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 [] 23:22:10.253 [debug] QUERY OK source="media_profiles" db=0.3ms idle=7.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:10.257 [info] Sent 200 in 14ms 23:22:10.733 [info] GET /sources/7/media/20161 23:22:10.733 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "20161", "source_id" => "7"} Pipelines: [:browser] 23:22:10.735 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=483.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" = ?) [20161] 23:22:10.736 [debug] QUERY OK source="tasks" db=0.3ms idle=484.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" [20161] 23:22:10.736 [debug] QUERY OK source="sources" db=1.0ms idle=483.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:22:10.737 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms idle=483.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [240] 23:22:10.738 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=194.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:10.739 [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 [] 23:22:10.740 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:10.742 [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] 23:22:10.746 [info] Sent 200 in 13ms 23:22:11.290 [info] GET /sources/4/media/22006 23:22:11.290 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "22006", "source_id" => "4"} Pipelines: [:browser] 23:22:11.291 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=553.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" = ?) [22006] 23:22:11.292 [debug] QUERY OK source="tasks" db=0.3ms idle=553.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [22006] 23:22:11.293 [debug] QUERY OK source="sources" db=0.6ms idle=552.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:22:11.294 [debug] QUERY OK source="settings" db=0.2ms idle=553.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:11.295 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=552.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:11.296 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 23:22:11.297 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:11.298 [info] Sent 200 in 8ms 23:22:11.837 [info] GET /sources/9/media/19358 23:22:11.838 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "19358", "source_id" => "9"} Pipelines: [:browser] 23:22:11.840 [debug] QUERY OK source="media_items" db=1.9ms idle=544.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" = ?) [19358] 23:22:11.842 [debug] QUERY OK source="tasks" db=0.5ms idle=546.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [19358] 23:22:11.842 [debug] QUERY OK source="sources" db=0.6ms idle=544.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:22:11.843 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=545.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [191] 23:22:11.844 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=297.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:11.844 [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 [] 23:22:11.846 [debug] QUERY OK source="settings" db=0.2ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:11.848 [debug] QUERY OK source="media_profiles" db=0.5ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:11.853 [info] Sent 200 in 15ms 23:22:12.358 [info] GET /sources/7/media/24585 23:22:12.358 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "24585", "source_id" => "7"} Pipelines: [:browser] 23:22:12.359 [debug] QUERY OK source="media_items" db=0.4ms idle=515.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24585] 23:22:12.360 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=515.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [24585] 23:22:12.361 [debug] QUERY OK source="sources" db=1.1ms idle=515.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:22:12.362 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=516.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [348] 23:22:12.364 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=515.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:12.364 [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 [] 23:22:12.366 [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 [] 23:22:12.367 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:12.372 [info] Sent 200 in 14ms 23:22:12.877 [info] GET /sources/8/media/20375 23:22:12.877 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "20375", "source_id" => "8"} Pipelines: [:browser] 23:22:12.878 [debug] QUERY OK source="media_items" db=0.4ms idle=514.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" = ?) [20375] 23:22:12.880 [debug] QUERY OK source="tasks" db=0.4ms idle=514.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" [20375] 23:22:12.880 [debug] QUERY OK source="sources" db=0.8ms idle=513.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:22:12.881 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=513.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" = ?) [254] 23:22:12.883 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=334.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:12.884 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:12.884 [debug] QUERY OK source="settings" db=0.4ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:12.887 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:12.888 [info] Sent 200 in 11ms 23:22:13.464 [info] GET /sources/4/media/21204 23:22:13.464 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21204", "source_id" => "4"} Pipelines: [:browser] 23:22:13.466 [debug] QUERY OK source="media_items" db=1.0ms idle=583.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [21204] 23:22:13.468 [debug] QUERY OK source="sources" db=1.8ms idle=582.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:22:13.468 [debug] QUERY OK source="tasks" db=2.0ms idle=582.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [21204] 23:22:13.470 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=584.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [295] 23:22:13.470 [debug] QUERY OK source="settings" db=0.0ms idle=583.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:13.470 [debug] QUERY OK source="settings" db=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:13.471 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:22:13.471 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:13.473 [info] Sent 200 in 8ms 23:22:13.929 [info] GET /sources/7/media/24830 23:22:13.929 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "24830", "source_id" => "7"} Pipelines: [:browser] 23:22:13.931 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=459.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24830] 23:22:13.932 [debug] QUERY OK source="tasks" db=0.4ms idle=461.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" [24830] 23:22:13.933 [debug] QUERY OK source="sources" db=0.8ms idle=460.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:22:13.934 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.2ms idle=461.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [361] 23:22:13.934 [debug] QUERY OK source="settings" db=0.2ms idle=385.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:13.935 [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 [] 23:22:13.935 [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 [] 23:22:13.936 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:13.938 [info] Sent 200 in 9ms 23:22:14.463 [info] GET /sources/8/media/20392 23:22:14.463 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "20392", "source_id" => "8"} Pipelines: [:browser] 23:22:14.464 [debug] QUERY OK source="media_items" db=0.2ms idle=530.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [20392] 23:22:14.465 [debug] QUERY OK source="tasks" db=0.5ms idle=530.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" [20392] 23:22:14.465 [debug] QUERY OK source="sources" db=0.6ms idle=529.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:22:14.466 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=529.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [256] 23:22:14.466 [debug] QUERY OK source="settings" db=0.3ms idle=529.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:14.467 [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 [] 23:22:14.467 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:14.468 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:14.470 [info] Sent 200 in 6ms 23:22:14.981 [info] GET /sources/9/media/16964 23:22:14.982 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16964", "source_id" => "9"} Pipelines: [:browser] 23:22:14.983 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=515.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16964] 23:22:14.984 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=516.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" [16964] 23:22:14.985 [debug] QUERY OK source="sources" db=0.8ms idle=516.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:22:14.986 [debug] QUERY OK source="settings" db=0.2ms idle=517.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:14.986 [debug] QUERY OK source="settings" db=0.1ms idle=435.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:14.986 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:22:14.987 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:14.988 [info] Sent 200 in 7ms 23:22:15.488 [info] GET /sources/4/media/21195 23:22:15.489 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21195", "source_id" => "4"} Pipelines: [:browser] 23:22:15.490 [debug] QUERY OK source="media_items" db=0.7ms idle=504.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" = ?) [21195] 23:22:15.491 [debug] QUERY OK source="sources" db=0.6ms idle=504.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:22:15.491 [debug] QUERY OK source="tasks" db=0.8ms queue=0.3ms idle=504.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [21195] 23:22:15.494 [debug] QUERY OK source="oban_jobs" db=2.2ms idle=505.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" = ?) [286] 23:22:15.496 [debug] QUERY OK source="settings" db=0.4ms queue=0.8ms idle=507.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:15.496 [debug] QUERY OK source="settings" db=0.3ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:15.498 [debug] QUERY OK source="settings" db=1.8ms 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 [] 23:22:15.501 [debug] QUERY OK source="media_profiles" db=0.6ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:15.502 [info] Sent 200 in 13ms 23:22:16.054 [info] GET /sources/4/media/21200 23:22:16.054 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21200", "source_id" => "4"} Pipelines: [:browser] 23:22:16.055 [debug] QUERY OK source="media_items" db=0.4ms idle=559.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" = ?) [21200] 23:22:16.057 [debug] QUERY OK source="tasks" db=0.5ms idle=559.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [21200] 23:22:16.057 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=557.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:22:16.059 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=557.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [291] 23:22:16.060 [debug] QUERY OK source="settings" db=0.4ms idle=507.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:16.060 [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 [] 23:22:16.062 [debug] QUERY OK source="settings" db=0.4ms 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 [] 23:22:16.063 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:16.068 [info] Sent 200 in 14ms 23:22:16.527 [info] GET /sources/6/media/11560 23:22:16.528 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "11560", "source_id" => "6"} Pipelines: [:browser] 23:22:16.529 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=469.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11560] 23:22:16.530 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=469.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" [11560] 23:22:16.531 [debug] QUERY OK source="sources" db=0.9ms idle=469.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:22:16.532 [debug] QUERY OK source="settings" db=0.3ms idle=469.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:16.533 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=468.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:16.534 [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 [] 23:22:16.536 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:16.539 [info] Sent 200 in 12ms 23:22:17.070 [info] GET /sources/6/media/20203 23:22:17.071 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "20203", "source_id" => "6"} Pipelines: [:browser] 23:22:17.071 [debug] QUERY OK source="media_items" db=0.2ms idle=539.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [20203] 23:22:17.071 [debug] QUERY OK source="tasks" db=0.1ms idle=538.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [20203] 23:22:17.072 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=537.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:22:17.072 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=536.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [243] 23:22:17.073 [debug] QUERY OK source="settings" db=0.1ms idle=519.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:17.073 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:17.074 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:17.074 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:17.077 [info] Sent 200 in 6ms 23:22:17.576 [info] GET /sources/8/media/17564 23:22:17.576 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "17564", "source_id" => "8"} Pipelines: [:browser] 23:22:17.577 [debug] QUERY OK source="media_items" db=0.4ms idle=503.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [17564] 23:22:17.578 [debug] QUERY OK source="tasks" db=0.4ms queue=0.3ms idle=504.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [17564] 23:22:17.579 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=504.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:22:17.581 [debug] QUERY OK source="oban_jobs" db=1.0ms idle=505.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [80] 23:22:17.581 [debug] QUERY OK source="settings" db=0.0ms idle=25.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:17.581 [debug] QUERY OK source="settings" db=0.2ms 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 [] 23:22:17.582 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:17.582 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:17.584 [info] Sent 200 in 8ms 23:22:18.106 [info] GET /sources/4/media/21201 23:22:18.106 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21201", "source_id" => "4"} Pipelines: [:browser] 23:22:18.107 [debug] QUERY OK source="media_items" db=0.4ms idle=526.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [21201] 23:22:18.108 [debug] QUERY OK source="tasks" db=0.4ms idle=526.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [21201] 23:22:18.109 [debug] QUERY OK source="sources" db=0.7ms idle=526.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:22:18.110 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=527.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [292] 23:22:18.111 [debug] QUERY OK source="settings" db=0.6ms idle=528.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:18.112 [debug] QUERY OK source="settings" db=0.6ms 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 [] 23:22:18.113 [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 [] 23:22:18.115 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:18.120 [info] Sent 200 in 14ms 23:22:18.588 [info] GET /media/c043e77e-d275-4ae1-b3ba-e183c4a01245/stream 23:22:18.588 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "c043e77e-d275-4ae1-b3ba-e183c4a01245", "v" => "1770401552"} Pipelines: [:maybe_basic_auth] 23:22:18.593 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=480.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["c043e77e-d275-4ae1-b3ba-e183c4a01245"] 23:22:18.594 [debug] Invalid range request for media item: c043e77e-d275-4ae1-b3ba-e183c4a01245 - serving full file 23:22:18.594 [info] Sent 200 in 6ms 23:22:35.207 [info] GET /sources/7/media/19940 23:22:35.208 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "19940", "source_id" => "7"} Pipelines: [:browser] 23:22:35.211 [debug] QUERY OK source="media_items" db=0.4ms idle=1027.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" = ?) [19940] 23:22:35.212 [debug] QUERY OK source="tasks" db=0.4ms idle=620.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [19940] 23:22:35.213 [debug] QUERY OK source="sources" db=1.7ms queue=0.1ms idle=28.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:22:35.214 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=30.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [225] 23:22:35.214 [debug] QUERY OK source="settings" db=0.2ms idle=30.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:35.215 [debug] QUERY OK source="settings" db=0.0ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:35.215 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:35.216 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:35.217 [info] Sent 200 in 9ms 23:22:35.745 [info] GET /sources/7/media/25813 23:22:35.746 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "25813", "source_id" => "7"} Pipelines: [:browser] 23:22:35.747 [debug] QUERY OK source="media_items" db=0.5ms idle=531.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [25813] 23:22:35.748 [debug] QUERY OK source="tasks" db=0.5ms idle=532.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" [25813] 23:22:35.749 [debug] QUERY OK source="sources" db=1.1ms idle=532.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:22:35.750 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=533.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [410] 23:22:35.751 [debug] QUERY OK source="settings" db=0.3ms idle=157.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:35.751 [debug] QUERY OK source="settings" db=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:35.752 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:22:35.752 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:35.754 [info] Sent 200 in 8ms 23:22:35.920 [info] {"source":"oban","duration":1373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:36.283 [info] GET /sources/4/media/21203 23:22:36.283 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21203", "source_id" => "4"} Pipelines: [:browser] 23:22:36.284 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=532.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [21203] 23:22:36.286 [debug] QUERY OK source="tasks" db=0.8ms idle=533.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" [21203] 23:22:36.286 [debug] QUERY OK source="sources" db=0.8ms idle=533.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:22:36.288 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=534.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [294] 23:22:36.289 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 23:22:36.290 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:36.291 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:36.294 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.3ms idle=6.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:36.299 [info] Sent 200 in 16ms 23:22:36.790 [info] GET /sources/6/media/24871 23:22:36.790 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "24871", "source_id" => "6"} Pipelines: [:browser] 23:22:36.791 [debug] QUERY OK source="media_items" db=0.4ms idle=502.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" = ?) [24871] 23:22:36.793 [debug] QUERY OK source="tasks" db=0.4ms idle=502.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [24871] 23:22:36.793 [debug] QUERY OK source="sources" db=0.4ms idle=501.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:22:36.794 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=499.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [364] 23:22:36.795 [debug] QUERY OK source="settings" db=0.2ms idle=199.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:36.796 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:22:36.796 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:22:36.797 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:36.799 [info] Sent 200 in 8ms 23:22:37.362 [info] GET /sources/4/media/22007 23:22:37.362 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "22007", "source_id" => "4"} Pipelines: [:browser] 23:22:37.363 [debug] QUERY OK source="media_items" db=0.4ms idle=568.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" = ?) [22007] 23:22:37.364 [debug] QUERY OK source="tasks" db=0.3ms idle=568.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [22007] 23:22:37.365 [debug] QUERY OK source="sources" db=1.0ms idle=568.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:22:37.366 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=569.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:37.367 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=569.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:37.369 [debug] QUERY OK source="settings" db=0.8ms 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 [] 23:22:37.371 [debug] QUERY OK source="media_profiles" db=0.5ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:37.374 [info] Sent 200 in 12ms 23:22:37.878 [info] GET /sources/4/media/21205 23:22:37.878 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21205", "source_id" => "4"} Pipelines: [:browser] 23:22:37.880 [debug] QUERY OK source="media_items" db=1.0ms idle=512.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" = ?) [21205] 23:22:37.881 [debug] QUERY OK source="tasks" db=0.5ms queue=0.2ms idle=513.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [21205] 23:22:37.882 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=511.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:22:37.883 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=511.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [296] 23:22:37.886 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=286.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:37.887 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:37.889 [debug] QUERY OK source="settings" db=0.9ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:37.890 [debug] QUERY OK source="media_profiles" db=0.4ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:37.894 [info] Sent 200 in 16ms 23:22:38.370 [info] GET /sources/6/media/24143 23:22:38.371 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "24143", "source_id" => "6"} Pipelines: [:browser] 23:22:38.372 [debug] QUERY OK source="media_items" db=0.4ms idle=488.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24143] 23:22:38.373 [debug] QUERY OK source="tasks" db=0.6ms idle=486.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" [24143] 23:22:38.373 [debug] QUERY OK source="sources" db=0.5ms idle=485.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:22:38.374 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=485.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [324] 23:22:38.376 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=484.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:38.376 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:38.378 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:38.380 [debug] QUERY OK source="media_profiles" db=0.5ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:38.385 [info] Sent 200 in 14ms 23:22:38.878 [info] GET /sources/9/media/16958 23:22:38.878 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16958", "source_id" => "9"} Pipelines: [:browser] 23:22:38.881 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=503.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16958] 23:22:38.882 [debug] QUERY OK source="tasks" db=0.5ms idle=505.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [16958] 23:22:38.883 [debug] QUERY OK source="sources" db=0.7ms idle=504.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:22:38.883 [debug] QUERY OK source="settings" db=0.1ms idle=503.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:38.883 [debug] QUERY OK source="settings" db=0.1ms idle=284.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:38.884 [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 [] 23:22:38.885 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:38.886 [info] Sent 200 in 8ms 23:22:39.378 [info] GET /sources/4/media/21207 23:22:39.378 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21207", "source_id" => "4"} Pipelines: [:browser] 23:22:39.381 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=496.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [21207] 23:22:39.383 [debug] QUERY OK source="tasks" db=1.3ms idle=498.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [21207] 23:22:39.384 [debug] QUERY OK source="sources" db=1.3ms idle=498.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:22:39.388 [debug] QUERY OK source="oban_jobs" db=2.1ms idle=501.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" = ?) [298] 23:22:39.390 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=503.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:39.392 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=9.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:39.393 [debug] QUERY OK source="settings" db=0.4ms idle=9.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:39.395 [debug] QUERY OK source="media_profiles" db=0.5ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:39.400 [info] Sent 200 in 22ms 23:22:39.901 [info] GET /sources/3/media/20480 23:22:39.902 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "20480", "source_id" => "3"} Pipelines: [:browser] 23:22:39.903 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=512.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [20480] 23:22:39.904 [debug] QUERY OK source="tasks" db=0.4ms idle=512.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [20480] 23:22:39.905 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=510.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:22:39.906 [debug] QUERY OK source="settings" db=0.4ms idle=510.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:39.907 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 23:22:39.908 [debug] QUERY OK source="settings" db=0.1ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:39.909 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:39.910 [info] Sent 200 in 8ms 23:22:40.464 [info] GET /sources/4/media/22008 23:22:40.464 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "22008", "source_id" => "4"} Pipelines: [:browser] 23:22:40.465 [debug] QUERY OK source="media_items" db=0.1ms idle=559.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [22008] 23:22:40.465 [debug] QUERY OK source="tasks" db=0.2ms idle=558.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" [22008] 23:22:40.465 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [4] 23:22:40.466 [debug] QUERY OK source="settings" db=0.1ms idle=557.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:40.466 [debug] QUERY OK source="settings" db=0.1ms idle=557.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:40.467 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:40.467 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:40.469 [info] Sent 200 in 4ms 23:22:41.013 [info] GET /sources/9/media/16957 23:22:41.013 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16957", "source_id" => "9"} Pipelines: [:browser] 23:22:41.014 [debug] QUERY OK source="media_items" db=0.2ms idle=547.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16957] 23:22:41.014 [debug] QUERY OK source="tasks" db=0.1ms idle=547.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" [16957] 23:22:41.014 [debug] QUERY OK source="sources" db=0.2ms idle=547.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:22:41.015 [debug] QUERY OK source="settings" db=0.4ms idle=547.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:41.016 [debug] QUERY OK source="settings" db=0.2ms queue=0.4ms idle=410.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:41.017 [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 [] 23:22:41.019 [debug] QUERY OK source="media_profiles" db=0.7ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:41.020 [info] Sent 200 in 7ms 23:22:41.531 [info] GET /sources/2/media/19631 23:22:41.531 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "19631", "source_id" => "2"} Pipelines: [:browser] 23:22:41.532 [debug] QUERY OK source="media_items" db=0.5ms idle=517.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" = ?) [19631] 23:22:41.533 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=517.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" [19631] 23:22:41.534 [debug] QUERY OK source="sources" db=0.6ms idle=516.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:22:41.535 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=516.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [207] 23:22:41.536 [debug] QUERY OK source="settings" db=0.4ms idle=516.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:41.537 [debug] QUERY OK source="settings" db=0.4ms 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 [] 23:22:41.538 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:41.540 [debug] QUERY OK source="media_profiles" db=0.4ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:41.545 [info] Sent 200 in 14ms 23:22:42.077 [info] GET /sources/9/media/16963 23:22:42.077 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16963", "source_id" => "9"} Pipelines: [:browser] 23:22:42.079 [debug] QUERY OK source="media_items" db=0.4ms idle=541.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" = ?) [16963] 23:22:42.079 [debug] QUERY OK source="tasks" db=0.3ms idle=542.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" [16963] 23:22:42.080 [debug] QUERY OK source="sources" db=0.9ms idle=540.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:22:42.081 [debug] QUERY OK source="settings" db=0.2ms idle=540.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:42.082 [debug] QUERY OK source="settings" db=0.4ms idle=475.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:42.083 [debug] QUERY OK source="settings" db=0.3ms 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 [] 23:22:42.085 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:42.089 [info] Sent 200 in 11ms 23:22:42.581 [info] GET /sources/9/media/16567 23:22:42.581 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16567", "source_id" => "9"} Pipelines: [:browser] 23:22:42.584 [debug] QUERY OK source="media_items" db=1.9ms idle=501.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16567] 23:22:42.585 [debug] QUERY OK source="tasks" db=0.3ms idle=503.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [16567] 23:22:42.585 [debug] QUERY OK source="sources" db=0.6ms idle=502.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:22:42.586 [debug] QUERY OK source="oban_jobs" db=0.5ms queue=0.1ms idle=502.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" = ?) [67] 23:22:42.587 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=501.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:42.588 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms 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 [] 23:22:42.590 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 23:22:42.592 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:42.597 [info] Sent 200 in 16ms 23:22:43.121 [info] GET /sources/9/media/16962 23:22:43.122 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16962", "source_id" => "9"} Pipelines: [:browser] 23:22:43.123 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=534.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16962] 23:22:43.125 [debug] QUERY OK source="tasks" db=1.1ms queue=0.1ms idle=535.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [16962] 23:22:43.125 [debug] QUERY OK source="sources" db=1.4ms idle=534.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:22:43.127 [debug] QUERY OK source="settings" db=1.1ms idle=534.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:43.129 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=519.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:43.129 [debug] QUERY OK source="settings" db=0.4ms 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 [] 23:22:43.130 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:43.132 [info] Sent 200 in 10ms 23:22:43.686 [info] GET /sources/9/media/16563 23:22:43.686 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16563", "source_id" => "9"} Pipelines: [:browser] 23:22:43.689 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=559.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16563] 23:22:43.691 [debug] QUERY OK source="tasks" db=0.8ms idle=561.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [16563] 23:22:43.691 [debug] QUERY OK source="sources" db=0.8ms idle=560.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:22:43.692 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=561.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [63] 23:22:43.692 [debug] QUERY OK source="settings" db=0.0ms idle=81.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:43.692 [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 [] 23:22:43.693 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:43.694 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:43.696 [info] Sent 200 in 10ms 23:22:44.162 [info] GET /sources/4/media/22003 23:22:44.162 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "22003", "source_id" => "4"} Pipelines: [:browser] 23:22:44.163 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=470.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [22003] 23:22:44.165 [debug] QUERY OK source="tasks" db=0.8ms idle=472.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [22003] 23:22:44.165 [debug] QUERY OK source="sources" db=1.1ms idle=471.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:22:44.166 [debug] QUERY OK source="settings" db=0.2ms idle=473.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:44.167 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 23:22:44.169 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:44.170 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:44.174 [info] Sent 200 in 12ms 23:22:44.681 [info] GET /sources/8/media/17570 23:22:44.681 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "17570", "source_id" => "8"} Pipelines: [:browser] 23:22:44.682 [debug] QUERY OK source="media_items" db=0.4ms idle=515.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [17570] 23:22:44.684 [debug] QUERY OK source="tasks" db=0.6ms queue=0.4ms idle=515.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [17570] 23:22:44.685 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=514.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:22:44.687 [debug] QUERY OK source="oban_jobs" db=1.0ms queue=0.1ms idle=515.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [83] 23:22:44.690 [debug] QUERY OK source="settings" db=1.0ms idle=76.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:44.692 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:44.695 [debug] QUERY OK source="settings" db=1.8ms 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 [] 23:22:44.699 [debug] QUERY OK source="media_profiles" db=0.8ms idle=13.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:44.707 [info] Sent 200 in 26ms 23:22:45.217 [info] GET /sources/6/media/11558 23:22:45.217 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "11558", "source_id" => "6"} Pipelines: [:browser] 23:22:45.219 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=530.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" = ?) [11558] 23:22:45.220 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=529.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [11558] 23:22:45.221 [debug] QUERY OK source="sources" db=0.9ms idle=527.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:22:45.222 [debug] QUERY OK source="settings" db=0.2ms idle=526.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:45.222 [debug] QUERY OK source="settings" db=0.1ms idle=522.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:45.222 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:22:45.223 [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] 23:22:45.224 [info] Sent 200 in 7ms 23:22:45.771 [info] GET /sources/9/media/16570 23:22:45.771 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16570", "source_id" => "9"} Pipelines: [:browser] 23:22:45.774 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=550.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16570] 23:22:45.775 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=552.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" [16570] 23:22:45.776 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=552.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:22:45.777 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=553.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [70] 23:22:45.778 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=163.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:45.779 [debug] QUERY OK source="settings" db=0.4ms 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 [] 23:22:45.780 [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 [] 23:22:45.782 [debug] QUERY OK source="media_profiles" db=0.5ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:45.788 [info] Sent 200 in 17ms 23:22:46.281 [info] GET /sources/6/media/19981 23:22:46.282 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "19981", "source_id" => "6"} Pipelines: [:browser] 23:22:46.283 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=505.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" = ?) [19981] 23:22:46.285 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=506.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [19981] 23:22:46.286 [debug] QUERY OK source="sources" db=1.0ms idle=505.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:22:46.287 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms idle=505.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [228] 23:22:46.288 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 23:22:46.288 [debug] QUERY OK source="settings" db=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:46.288 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:22:46.289 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:46.291 [info] Sent 200 in 9ms 23:22:46.785 [info] GET /sources/4/media/22005 23:22:46.786 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "22005", "source_id" => "4"} Pipelines: [:browser] 23:22:46.787 [debug] QUERY OK source="media_items" db=0.5ms idle=498.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [22005] 23:22:46.788 [debug] QUERY OK source="tasks" db=0.4ms idle=499.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" [22005] 23:22:46.788 [debug] QUERY OK source="sources" db=0.7ms idle=499.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:22:46.790 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=500.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:46.791 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=173.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:46.792 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:46.794 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:46.799 [info] Sent 200 in 13ms 23:22:47.352 [info] GET /sources/7/media/25320 23:22:47.352 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "25320", "source_id" => "7"} Pipelines: [:browser] 23:22:47.353 [debug] QUERY OK source="media_items" db=0.4ms idle=564.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [25320] 23:22:47.355 [debug] QUERY OK source="tasks" db=0.8ms idle=564.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [25320] 23:22:47.356 [debug] QUERY OK source="sources" db=1.7ms idle=563.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:22:47.357 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=564.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [386] 23:22:47.358 [debug] QUERY OK source="settings" db=0.3ms idle=563.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:47.359 [debug] QUERY OK source="settings" db=0.4ms 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 [] 23:22:47.359 [debug] QUERY OK source="settings" db=0.6ms 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 [] 23:22:47.361 [debug] QUERY OK source="media_profiles" db=0.6ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:47.363 [info] Sent 200 in 11ms 23:22:47.869 [info] GET /sources/3/media/18943 23:22:47.869 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "18943", "source_id" => "3"} Pipelines: [:browser] 23:22:47.870 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=511.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [18943] 23:22:47.872 [debug] QUERY OK source="tasks" db=0.6ms queue=0.2ms idle=512.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [18943] 23:22:47.873 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=511.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:22:47.874 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=512.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:47.875 [debug] QUERY OK source="settings" db=0.6ms idle=254.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:47.876 [debug] QUERY OK source="settings" db=0.5ms 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 [] 23:22:47.878 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:47.882 [info] Sent 200 in 12ms 23:22:48.357 [info] GET /sources/9/media/16568 23:22:48.357 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16568", "source_id" => "9"} Pipelines: [:browser] 23:22:48.360 [debug] QUERY OK source="media_items" db=1.9ms idle=485.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16568] 23:22:48.361 [debug] QUERY OK source="tasks" db=0.7ms queue=0.2ms idle=486.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [16568] 23:22:48.362 [debug] QUERY OK source="sources" db=1.0ms idle=485.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:22:48.362 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=485.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [68] 23:22:48.362 [debug] QUERY OK source="settings" db=0.1ms idle=483.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:48.363 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:48.363 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:48.364 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:48.366 [info] Sent 200 in 9ms 23:22:48.878 [info] GET /sources/4/media/21196 23:22:48.878 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21196", "source_id" => "4"} Pipelines: [:browser] 23:22:48.879 [debug] QUERY OK source="media_items" db=0.4ms idle=516.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" = ?) [21196] 23:22:48.881 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=517.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [21196] 23:22:48.881 [debug] QUERY OK source="sources" db=0.8ms idle=516.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:22:48.882 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=517.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [287] 23:22:48.883 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=260.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:48.884 [debug] QUERY OK source="settings" db=0.3ms 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 [] 23:22:48.886 [debug] QUERY OK source="settings" db=1.2ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:48.888 [debug] QUERY OK source="media_profiles" db=0.5ms idle=6.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:22:48.893 [info] Sent 200 in 15ms 23:22:49.421 [info] GET /sources/9/media/16960 23:22:49.421 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16960", "source_id" => "9"} Pipelines: [:browser] 23:22:49.423 [debug] QUERY OK source="media_items" db=1.6ms idle=538.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" = ?) [16960] 23:22:49.423 [debug] QUERY OK source="tasks" db=0.1ms idle=539.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [16960] 23:22:49.423 [debug] QUERY OK source="sources" db=0.2ms idle=538.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:22:49.424 [debug] QUERY OK source="settings" db=0.2ms idle=537.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:49.424 [debug] QUERY OK source="settings" db=0.1ms idle=535.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:49.425 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:49.425 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:49.427 [info] Sent 200 in 6ms 23:22:49.893 [info] GET /sources/6/media/24383 23:22:49.893 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "24383", "source_id" => "6"} Pipelines: [:browser] 23:22:49.894 [debug] QUERY OK source="media_items" db=0.4ms idle=470.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24383] 23:22:49.896 [debug] QUERY OK source="sources" db=0.7ms idle=471.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:22:49.896 [debug] QUERY OK source="tasks" db=0.9ms queue=0.2ms idle=470.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" [24383] 23:22:49.898 [debug] QUERY OK source="oban_jobs" db=1.1ms idle=472.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [337] 23:22:49.900 [debug] QUERY OK source="settings" db=0.6ms idle=275.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:49.901 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:22:49.902 [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 [] 23:22:49.904 [debug] QUERY OK source="media_profiles" db=0.4ms idle=6.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:22:49.907 [info] Sent 200 in 14ms 23:22:50.432 [info] GET /media/637975de-9001-4a49-a83e-a4cd559a15ee/stream 23:22:50.432 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "637975de-9001-4a49-a83e-a4cd559a15ee", "v" => "1770142510"} Pipelines: [:maybe_basic_auth] 23:22:50.434 [debug] QUERY OK source="media_items" db=1.8ms idle=533.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["637975de-9001-4a49-a83e-a4cd559a15ee"] 23:22:50.434 [debug] Invalid range request for media item: 637975de-9001-4a49-a83e-a4cd559a15ee - serving full file 23:22:50.434 [info] Sent 200 in 2ms 23:22:52.619 [info] GET /media/fee647d5-8dd0-45e0-a3db-3be7912331cf/stream 23:22:52.619 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "fee647d5-8dd0-45e0-a3db-3be7912331cf", "v" => "1770547373"} Pipelines: [:maybe_basic_auth] 23:22:52.622 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=1436.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" = ?) ["fee647d5-8dd0-45e0-a3db-3be7912331cf"] 23:22:52.623 [debug] Invalid range request for media item: fee647d5-8dd0-45e0-a3db-3be7912331cf - serving full file 23:22:52.623 [info] Sent 200 in 3ms 23:23:00.043 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:23:05.922 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:07.625 [info] GET /media_profiles/new 23:23:07.625 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 23:23:07.627 [debug] QUERY OK source="settings" db=0.9ms idle=964.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:07.631 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=447.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:07.631 [debug] QUERY OK source="settings" db=0.3ms idle=448.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:07.632 [debug] QUERY OK source="settings" db=0.1ms idle=448.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:07.633 [debug] QUERY OK source="settings" db=0.3ms idle=450.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:07.640 [info] Sent 200 in 14ms 23:23:08.164 [info] GET /sources/new 23:23:08.164 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 23:23:08.165 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=533.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" [] 23:23:08.166 [debug] QUERY OK source="settings" db=0.2ms idle=534.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:08.167 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=534.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:08.168 [debug] QUERY OK source="settings" db=0.2ms idle=534.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:08.169 [debug] QUERY OK source="settings" db=0.3ms idle=505.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:08.171 [debug] QUERY OK source="settings" db=0.3ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:08.199 [info] Sent 200 in 35ms 23:23:08.727 [info] GET /sources/3/ 23:23:08.728 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 23:23:08.732 [debug] QUERY OK source="sources" db=3.2ms idle=561.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:23:08.733 [debug] QUERY OK source="media_profiles" db=0.4ms idle=564.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:23:08.734 [debug] QUERY OK source="tasks" db=0.8ms idle=564.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 (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 23:23:08.735 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.2ms idle=563.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [405] 23:23:08.736 [debug] QUERY OK source="settings" db=0.5ms idle=69.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:08.737 [debug] QUERY OK source="settings" db=0.4ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:08.739 [debug] QUERY OK source="settings" db=0.2ms queue=0.7ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:08.741 [debug] QUERY OK source="sources" db=1.7ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:23:08.742 [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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 23:23:08.743 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=6.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 23:23:08.748 [debug] QUERY OK source="sources" db=4.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" = ?) [3] 23:23:08.749 [debug] QUERY OK source="media_items" db=0.2ms idle=10.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 23:23:08.749 [debug] QUERY OK source="media_items" db=0.3ms idle=7.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 23:23:08.750 [debug] QUERY OK source="sources" db=0.2ms idle=7.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:23:08.751 [debug] QUERY OK source="media_items" db=0.8ms idle=7.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [3] 23:23:08.752 [debug] QUERY OK source="media_items" db=0.5ms 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 ? [3, 10, 0] 23:23:08.753 [info] Sent 200 in 26ms 23:23:09.226 [info] GET /sources/5/ 23:23:09.227 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "5"} Pipelines: [:browser] 23:23:09.228 [debug] QUERY OK source="sources" db=0.4ms idle=478.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:23:09.229 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=478.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:23:09.230 [debug] QUERY OK source="tasks" db=0.6ms idle=479.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [5, "executing", "available", "scheduled", "retryable"] 23:23:09.231 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=478.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [407] 23:23:09.232 [debug] QUERY OK source="settings" db=0.6ms idle=479.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:09.233 [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 [] 23:23:09.234 [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 [] 23:23:09.237 [debug] QUERY OK source="sources" db=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:23:09.239 [debug] QUERY OK source="media_items" db=1.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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [5] 23:23:09.242 [debug] QUERY OK source="media_items" db=1.9ms idle=8.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [5, 10, 0] 23:23:09.243 [debug] QUERY OK source="sources" db=0.3ms idle=10.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:23:09.244 [debug] QUERY OK source="media_items" db=0.3ms idle=9.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [5] 23:23:09.245 [debug] QUERY OK source="media_items" db=0.8ms idle=7.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [5, 10, 0] 23:23:09.246 [debug] QUERY OK source="sources" db=0.3ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 23:23:09.248 [debug] QUERY OK source="media_items" db=1.6ms idle=4.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [5] 23:23:09.251 [debug] QUERY OK source="media_items" db=2.0ms idle=5.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [5, 10, 0] 23:23:09.254 [info] Sent 200 in 28ms 23:23:09.779 [info] GET /sources/6/ 23:23:09.779 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 23:23:09.780 [debug] QUERY OK source="sources" db=0.5ms idle=534.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:23:09.781 [debug] QUERY OK source="media_profiles" db=0.5ms idle=534.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] 23:23:09.782 [debug] QUERY OK source="tasks" db=0.3ms idle=532.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 (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 23:23:09.782 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=530.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [414] 23:23:09.783 [debug] QUERY OK source="settings" db=0.5ms idle=113.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:09.784 [debug] QUERY OK source="settings" db=0.2ms queue=0.4ms 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 [] 23:23:09.785 [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 [] 23:23:09.787 [debug] QUERY OK source="sources" db=0.7ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:23:09.791 [debug] QUERY OK source="media_items" db=3.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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 23:23:09.795 [debug] QUERY OK source="media_items" db=3.5ms idle=8.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 23:23:09.796 [debug] QUERY OK source="sources" db=0.2ms idle=11.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:23:09.797 [debug] QUERY OK source="media_items" db=0.4ms idle=11.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 23:23:09.798 [debug] QUERY OK source="media_items" db=1.6ms idle=9.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 23:23:09.799 [debug] QUERY OK source="sources" db=0.1ms idle=7.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 23:23:09.803 [debug] QUERY OK source="media_items" db=3.2ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 23:23:09.807 [debug] QUERY OK source="media_items" db=3.6ms idle=6.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 ? [6, 10, 0] 23:23:09.808 [info] Sent 200 in 28ms 23:23:10.283 [info] GET /sources/8/ 23:23:10.283 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "8"} Pipelines: [:browser] 23:23:10.284 [debug] QUERY OK source="sources" db=0.5ms idle=487.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:23:10.285 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=486.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] 23:23:10.287 [debug] QUERY OK source="tasks" db=0.5ms idle=486.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [8, "executing", "available", "scheduled", "retryable"] 23:23:10.287 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=484.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [409] 23:23:10.288 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=481.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:10.289 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:10.291 [debug] QUERY OK source="settings" db=0.5ms 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 [] 23:23:10.295 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:23:10.298 [debug] QUERY OK source="media_items" db=0.9ms queue=0.3ms idle=8.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [8] 23:23:10.302 [debug] QUERY OK source="media_items" db=2.4ms queue=1.0ms idle=9.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 23:23:10.305 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=15.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:23:10.308 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=14.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [8] 23:23:10.312 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=13.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 23:23:10.317 [debug] QUERY OK source="sources" db=0.2ms idle=19.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 23:23:10.319 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=16.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [8] 23:23:10.320 [debug] QUERY OK source="media_items" db=0.6ms queue=0.3ms idle=13.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 23:23:10.322 [info] Sent 200 in 38ms 23:23:10.843 [info] GET /sources/2/ 23:23:10.843 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 23:23:10.845 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=532.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:23:10.846 [debug] QUERY OK source="media_profiles" db=0.7ms idle=527.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:23:10.849 [debug] QUERY OK source="tasks" db=2.5ms queue=0.1ms idle=527.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 23:23:10.851 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=530.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" = ?) [406] 23:23:10.852 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=180.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:10.852 [debug] QUERY OK source="settings" db=0.3ms 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 [] 23:23:10.853 [debug] QUERY OK source="settings" db=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 [] 23:23:10.857 [debug] QUERY OK source="sources" db=1.9ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:23:10.859 [debug] QUERY OK source="media_items" db=0.9ms idle=7.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 23:23:10.862 [debug] QUERY OK source="media_items" db=2.4ms idle=7.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 ? [2, 10, 0] 23:23:10.864 [debug] QUERY OK source="sources" db=1.0ms idle=10.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:23:10.865 [debug] QUERY OK source="media_items" db=0.1ms idle=10.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 23:23:10.865 [debug] QUERY OK source="media_items" db=0.6ms idle=7.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 23:23:10.866 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [2] 23:23:10.868 [debug] QUERY OK source="media_items" db=0.7ms idle=5.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 23:23:10.869 [debug] QUERY OK source="media_items" db=1.4ms idle=3.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 23:23:10.874 [info] Sent 200 in 30ms 23:23:11.388 [info] GET /sources/4/ 23:23:11.388 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "4"} Pipelines: [:browser] 23:23:11.389 [debug] QUERY OK source="sources" db=0.3ms idle=523.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:23:11.389 [debug] QUERY OK source="media_profiles" db=0.1ms idle=523.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" = ?) [2] 23:23:11.390 [debug] QUERY OK source="tasks" db=0.4ms idle=522.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 (?,?,?,?)) [4, "executing", "available", "scheduled", "retryable"] 23:23:11.390 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=522.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [403] 23:23:11.391 [debug] QUERY OK source="settings" db=0.1ms idle=521.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:11.391 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:23:11.391 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 23:23:11.393 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [4] 23:23:11.396 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=3.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")))) [4] 23:23:11.397 [debug] QUERY OK source="media_items" db=1.5ms idle=5.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 23:23:11.399 [debug] QUERY OK source="sources" db=0.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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:23:11.399 [debug] QUERY OK source="media_items" db=0.2ms queue=0.2ms idle=7.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [4] 23:23:11.400 [debug] QUERY OK source="media_items" db=0.9ms idle=5.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 ? [4, 10, 0] 23:23:11.401 [debug] QUERY OK source="sources" db=0.2ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:23:11.403 [debug] QUERY OK source="media_items" db=1.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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [4] 23:23:11.405 [debug] QUERY OK source="media_items" db=2.1ms 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 ? [4, 10, 0] 23:23:11.407 [info] Sent 200 in 19ms 23:23:11.875 [info] GET /sources/7/ 23:23:11.876 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 23:23:11.879 [debug] QUERY OK source="sources" db=2.4ms queue=0.1ms idle=475.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:23:11.880 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=477.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:23:11.884 [debug] QUERY OK source="tasks" db=1.8ms queue=1.1ms idle=477.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 (?,?,?,?)) [7, "executing", "available", "scheduled", "retryable"] 23:23:11.887 [debug] QUERY OK source="oban_jobs" db=2.5ms idle=478.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [411] 23:23:11.892 [debug] QUERY OK source="settings" db=4.0ms queue=0.1ms idle=214.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:11.893 [debug] QUERY OK source="settings" db=0.9ms idle=13.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:11.895 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=13.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:11.900 [debug] QUERY OK source="sources" db=0.3ms idle=15.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:23:11.904 [debug] QUERY OK source="media_items" db=3.6ms idle=13.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 23:23:11.910 [debug] QUERY OK source="media_items" db=4.8ms idle=13.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 23:23:11.912 [debug] QUERY OK source="sources" db=0.3ms idle=17.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:23:11.912 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=16.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 23:23:11.914 [debug] QUERY OK source="media_items" db=1.5ms idle=12.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 23:23:11.918 [debug] QUERY OK source="sources" db=1.8ms idle=12.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:23:11.920 [debug] QUERY OK source="media_items" db=1.3ms idle=9.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [7] 23:23:11.923 [debug] QUERY OK source="media_items" db=1.9ms idle=9.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 23:23:11.924 [info] Sent 200 in 49ms 23:23:12.441 [info] GET /sources/9/ 23:23:12.441 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "9"} Pipelines: [:browser] 23:23:12.441 [debug] QUERY OK source="sources" db=0.2ms idle=528.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:23:12.442 [debug] QUERY OK source="media_profiles" db=0.1ms idle=527.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:23:12.442 [debug] QUERY OK source="tasks" db=0.1ms idle=523.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [9, "executing", "available", "scheduled", "retryable"] 23:23:12.442 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=521.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [404] 23:23:12.443 [debug] QUERY OK source="settings" db=0.1ms idle=519.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:12.443 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:12.443 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:12.444 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:23:12.445 [debug] QUERY OK source="media_items" db=0.6ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 23:23:12.446 [debug] QUERY OK source="media_items" db=0.7ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [9, 10, 0] 23:23:12.447 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 23:23:12.447 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 23:23:12.448 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [9, 10, 0] 23:23:12.449 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [9] 23:23:12.449 [debug] QUERY OK source="media_items" db=0.5ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [9] 23:23:12.450 [debug] QUERY OK source="media_items" db=0.7ms idle=2.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 ? [9, 10, 0] 23:23:12.451 [info] Sent 200 in 10ms 23:23:12.949 [info] GET /sources/3/media/17444 23:23:12.949 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "17444", "source_id" => "3"} Pipelines: [:browser] 23:23:12.950 [debug] QUERY OK source="media_items" db=0.5ms idle=501.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [17444] 23:23:12.951 [debug] QUERY OK source="tasks" db=0.3ms idle=501.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" [17444] 23:23:12.951 [debug] QUERY OK source="sources" db=0.3ms idle=501.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 23:23:12.952 [debug] QUERY OK source="settings" db=0.3ms idle=501.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:12.952 [debug] QUERY OK source="settings" db=0.2ms idle=275.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:12.953 [debug] QUERY OK source="settings" db=0.7ms 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 [] 23:23:12.955 [debug] QUERY OK source="media_profiles" db=0.7ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:23:12.956 [info] Sent 200 in 7ms 23:23:13.489 [info] GET /sources/4/media/22000 23:23:13.489 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "22000", "source_id" => "4"} Pipelines: [:browser] 23:23:13.491 [debug] QUERY OK source="media_items" db=0.5ms idle=539.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" = ?) [22000] 23:23:13.492 [debug] QUERY OK source="tasks" db=0.6ms idle=539.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" [22000] 23:23:13.493 [debug] QUERY OK source="sources" db=1.1ms idle=539.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:23:13.494 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=539.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:13.495 [debug] QUERY OK source="settings" db=1.0ms idle=539.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:13.497 [debug] QUERY OK source="settings" db=0.2ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:13.499 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=6.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:23:13.503 [info] Sent 200 in 13ms 23:23:14.009 [info] GET /sources/4/media/21999 23:23:14.009 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21999", "source_id" => "4"} Pipelines: [:browser] 23:23:14.012 [debug] QUERY OK source="media_items" db=2.0ms idle=515.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [21999] 23:23:14.014 [debug] QUERY OK source="sources" db=1.5ms idle=517.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 23:23:14.015 [debug] QUERY OK source="tasks" db=1.9ms idle=515.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [21999] 23:23:14.018 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=515.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:14.021 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=338.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:14.023 [debug] QUERY OK source="settings" db=0.4ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:14.027 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.1ms idle=10.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 23:23:14.030 [info] Sent 200 in 20ms 23:23:14.517 [info] GET /sources/4/media/22000/edit 23:23:14.519 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "22000", "source_id" => "4"} Pipelines: [:browser] 23:23:14.520 [debug] QUERY OK source="media_items" db=0.4ms idle=504.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [22000] 23:23:14.522 [debug] QUERY OK source="settings" db=0.3ms idle=503.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:14.523 [debug] QUERY OK source="settings" db=0.4ms idle=501.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:14.523 [debug] QUERY OK source="settings" db=0.5ms idle=499.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:14.525 [info] Sent 200 in 8ms 23:23:15.000 [info] GET /sources/6/media/11561/edit 23:23:15.000 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "11561", "source_id" => "6"} Pipelines: [:browser] 23:23:15.000 [debug] QUERY OK source="media_items" db=0.3ms idle=480.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" = ?) [11561] 23:23:15.001 [debug] QUERY OK source="settings" db=0.3ms idle=479.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:15.002 [debug] QUERY OK source="settings" db=0.3ms idle=478.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:15.002 [debug] QUERY OK source="settings" db=0.0ms idle=478.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:15.003 [info] Sent 200 in 3ms 23:23:15.553 [info] GET /sources/9/media/16966/edit 23:23:15.553 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16966", "source_id" => "9"} Pipelines: [:browser] 23:23:15.555 [debug] QUERY OK source="media_items" db=0.6ms idle=872.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16966] 23:23:15.556 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=555.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:15.557 [debug] QUERY OK source="settings" db=0.4ms idle=555.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:15.558 [debug] QUERY OK source="settings" db=0.3ms idle=556.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:15.561 [info] Sent 200 in 7ms 23:23:16.082 [info] GET /sources/4/media/22002/edit 23:23:16.083 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "22002", "source_id" => "4"} Pipelines: [:browser] 23:23:16.083 [debug] QUERY OK source="media_items" db=0.2ms idle=528.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [22002] 23:23:16.084 [debug] QUERY OK source="settings" db=0.1ms idle=527.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:16.084 [debug] QUERY OK source="settings" db=0.0ms idle=526.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:16.084 [debug] QUERY OK source="settings" db=0.1ms idle=526.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:16.085 [info] Sent 200 in 2ms 23:23:16.657 [info] GET /sources/9/media/16961/edit 23:23:16.657 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16961", "source_id" => "9"} Pipelines: [:browser] 23:23:16.658 [debug] QUERY OK source="media_items" db=0.4ms idle=974.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16961] 23:23:16.659 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=575.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:16.660 [debug] QUERY OK source="settings" db=0.4ms idle=576.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:16.662 [debug] QUERY OK source="settings" db=0.4ms idle=577.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:16.665 [info] Sent 200 in 7ms 23:23:17.122 [info] GET /sources/6/media/24626/edit 23:23:17.122 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "24626", "source_id" => "6"} Pipelines: [:browser] 23:23:17.124 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=464.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24626] 23:23:17.126 [debug] QUERY OK source="settings" db=1.1ms idle=464.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:17.127 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=465.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:17.129 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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 [] 23:23:17.131 [info] Sent 200 in 9ms 23:23:17.658 [info] GET /sources/4/media/22004/edit 23:23:17.658 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "22004", "source_id" => "4"} Pipelines: [:browser] 23:23:17.659 [debug] QUERY OK source="media_items" db=0.4ms idle=972.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [22004] 23:23:17.661 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=536.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:17.662 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=535.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:17.664 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=535.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:17.666 [info] Sent 200 in 8ms 23:23:18.221 [info] GET /sources/3/media/17444/edit 23:23:18.221 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "17444", "source_id" => "3"} Pipelines: [:browser] 23:23:18.221 [debug] QUERY OK source="media_items" db=0.2ms idle=561.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [17444] 23:23:18.222 [debug] QUERY OK source="settings" db=0.1ms idle=560.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:18.222 [debug] QUERY OK source="settings" db=0.1ms idle=560.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:18.223 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=559.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:18.224 [info] Sent 200 in 3ms 23:23:18.718 [info] GET /sources/4/media/21999/edit 23:23:18.718 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "21999", "source_id" => "4"} Pipelines: [:browser] 23:23:18.719 [debug] QUERY OK source="media_items" db=0.2ms idle=497.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [21999] 23:23:18.719 [debug] QUERY OK source="settings" db=0.2ms idle=497.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:18.720 [debug] QUERY OK source="settings" db=0.3ms idle=497.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:18.721 [debug] QUERY OK source="settings" db=0.5ms idle=496.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:18.721 [info] Sent 200 in 3ms 23:23:19.268 [info] GET /sources/8/media/17564/edit 23:23:19.268 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "17564", "source_id" => "8"} Pipelines: [:browser] 23:23:19.269 [debug] QUERY OK source="media_items" db=0.5ms idle=578.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" = ?) [17564] 23:23:19.270 [debug] QUERY OK source="settings" db=0.3ms idle=551.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:19.271 [debug] QUERY OK source="settings" db=0.2ms idle=551.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:19.272 [debug] QUERY OK source="settings" db=0.4ms idle=552.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:19.275 [info] Sent 200 in 7ms 23:23:19.797 [info] GET /sources/9/media/16569/edit 23:23:19.797 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16569", "source_id" => "9"} Pipelines: [:browser] 23:23:19.798 [debug] QUERY OK source="media_items" db=0.4ms idle=528.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" = ?) [16569] 23:23:19.799 [debug] QUERY OK source="settings" db=0.5ms idle=528.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:19.800 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=528.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:19.802 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=528.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:19.804 [info] Sent 200 in 7ms 23:23:20.319 [info] GET /sources/9/media/16964/edit 23:23:20.320 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16964", "source_id" => "9"} Pipelines: [:browser] 23:23:20.321 [debug] QUERY OK source="media_items" db=0.4ms idle=627.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" = ?) [16964] 23:23:20.322 [debug] QUERY OK source="settings" db=0.3ms idle=523.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:20.322 [debug] QUERY OK source="settings" db=0.2ms idle=522.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:20.324 [debug] QUERY OK source="settings" db=0.3ms idle=523.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:20.327 [info] Sent 200 in 7ms 23:23:20.848 [info] GET /sources/9/media/16957/edit 23:23:20.849 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16957", "source_id" => "9"} Pipelines: [:browser] 23:23:20.850 [debug] QUERY OK source="media_items" db=0.4ms idle=528.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16957] 23:23:20.851 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=529.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:20.852 [debug] QUERY OK source="settings" db=0.3ms idle=529.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:20.854 [debug] QUERY OK source="settings" db=0.7ms idle=529.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:20.857 [info] Sent 200 in 8ms 23:23:21.408 [info] GET /sources/4/media/21201/edit 23:23:21.409 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "21201", "source_id" => "4"} Pipelines: [:browser] 23:23:21.409 [debug] QUERY OK source="media_items" db=0.2ms idle=714.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" = ?) [21201] 23:23:21.410 [debug] QUERY OK source="settings" db=0.5ms idle=559.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:21.411 [debug] QUERY OK source="settings" db=0.3ms idle=558.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:21.413 [debug] QUERY OK source="settings" db=1.5ms idle=559.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:21.414 [info] Sent 200 in 5ms 23:23:21.915 [info] GET /sources/4/media/21202/edit 23:23:21.916 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "21202", "source_id" => "4"} Pipelines: [:browser] 23:23:21.917 [debug] QUERY OK source="media_items" db=0.7ms idle=506.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [21202] 23:23:21.918 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=507.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:21.919 [debug] QUERY OK source="settings" db=0.4ms idle=507.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:21.921 [debug] QUERY OK source="settings" db=0.2ms idle=507.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:21.922 [info] Sent 200 in 7ms 23:23:22.445 [info] GET /sources/6/media/20203/edit 23:23:22.445 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "20203", "source_id" => "6"} Pipelines: [:browser] 23:23:22.446 [debug] QUERY OK source="media_items" db=0.2ms idle=748.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" = ?) [20203] 23:23:22.446 [debug] QUERY OK source="settings" db=0.2ms idle=528.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:22.446 [debug] QUERY OK source="settings" db=0.1ms idle=527.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:22.447 [debug] QUERY OK source="settings" db=0.1ms idle=527.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:22.449 [info] Sent 200 in 3ms 23:23:22.971 [info] GET /sources/4/media/21195/edit 23:23:22.971 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "21195", "source_id" => "4"} Pipelines: [:browser] 23:23:22.973 [debug] QUERY OK source="media_items" db=0.4ms idle=526.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [21195] 23:23:22.974 [debug] QUERY OK source="settings" db=0.5ms idle=527.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:22.975 [debug] QUERY OK source="settings" db=0.2ms idle=527.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:22.976 [debug] QUERY OK source="settings" db=0.0ms idle=528.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:22.977 [info] Sent 200 in 5ms 23:23:23.504 [info] GET /sources/4/media/21203/edit 23:23:23.505 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "21203", "source_id" => "4"} Pipelines: [:browser] 23:23:23.505 [debug] QUERY OK source="media_items" db=0.4ms idle=806.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [21203] 23:23:23.506 [debug] QUERY OK source="settings" db=0.1ms idle=533.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:23.506 [debug] QUERY OK source="settings" db=0.1ms idle=532.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:23.507 [debug] QUERY OK source="settings" db=0.5ms idle=532.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:23.508 [info] Sent 200 in 4ms 23:23:24.011 [info] GET /sources/6/media/19981/edit 23:23:24.011 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "19981", "source_id" => "6"} Pipelines: [:browser] 23:23:24.013 [debug] QUERY OK source="media_items" db=1.5ms idle=506.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" = ?) [19981] 23:23:24.014 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=507.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:24.015 [debug] QUERY OK source="settings" db=0.3ms idle=508.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:24.017 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=508.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:24.018 [info] Sent 200 in 7ms 23:23:24.538 [info] GET /sources/9/media/16563/edit 23:23:24.539 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16563", "source_id" => "9"} Pipelines: [:browser] 23:23:24.540 [debug] QUERY OK source="media_items" db=0.6ms idle=839.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16563] 23:23:24.542 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=527.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:24.543 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=527.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:24.545 [debug] QUERY OK source="settings" db=0.7ms idle=528.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:24.546 [info] Sent 200 in 8ms 23:23:25.090 [info] GET /sources/8/media/20375/edit 23:23:25.090 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "20375", "source_id" => "8"} Pipelines: [:browser] 23:23:25.092 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=551.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [20375] 23:23:25.093 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=550.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:25.094 [debug] QUERY OK source="settings" db=0.6ms idle=549.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:25.096 [debug] QUERY OK source="settings" db=0.5ms idle=550.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:25.098 [info] Sent 200 in 7ms 23:23:25.613 [info] GET /sources/6/media/25854/edit 23:23:25.613 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "25854", "source_id" => "6"} Pipelines: [:browser] 23:23:25.618 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=911.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" = ?) [25854] 23:23:25.619 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=526.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:25.621 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=527.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:25.624 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=528.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:25.627 [info] Sent 200 in 14ms 23:23:26.157 [info] GET /sources/2/media/19631/edit 23:23:26.157 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "19631", "source_id" => "2"} Pipelines: [:browser] 23:23:26.158 [debug] QUERY OK source="media_items" db=0.4ms idle=540.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [19631] 23:23:26.159 [debug] QUERY OK source="settings" db=0.5ms idle=539.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:26.160 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=538.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:26.161 [debug] QUERY OK source="settings" db=0.3ms idle=536.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:26.162 [info] Sent 200 in 5ms 23:23:26.716 [info] GET /sources/8/media/17561/edit 23:23:26.716 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "17561", "source_id" => "8"} Pipelines: [:browser] 23:23:26.717 [debug] QUERY OK source="media_items" db=0.4ms idle=558.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" = ?) [17561] 23:23:26.717 [debug] QUERY OK source="settings" db=0.3ms idle=557.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:26.718 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=557.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:26.719 [debug] QUERY OK source="settings" db=0.4ms idle=556.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:26.719 [info] Sent 200 in 3ms 23:23:27.199 [info] GET /sources/7/media/19940/edit 23:23:27.202 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "19940", "source_id" => "7"} Pipelines: [:browser] 23:23:27.203 [debug] QUERY OK source="media_items" db=0.3ms idle=496.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [19940] 23:23:27.203 [debug] QUERY OK source="settings" db=0.2ms idle=486.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:27.204 [debug] QUERY OK source="settings" db=0.3ms idle=486.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:27.206 [debug] QUERY OK source="settings" db=1.2ms idle=486.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:27.210 [info] Sent 200 in 10ms 23:23:27.721 [info] GET /sources/9/media/16564/edit 23:23:27.721 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16564", "source_id" => "9"} Pipelines: [:browser] 23:23:27.722 [debug] QUERY OK source="media_items" db=0.2ms idle=518.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" = ?) [16564] 23:23:27.722 [debug] QUERY OK source="settings" db=0.1ms idle=518.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:27.722 [debug] QUERY OK source="settings" db=0.1ms idle=518.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:27.723 [debug] QUERY OK source="settings" db=0.1ms idle=516.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:27.724 [info] Sent 200 in 2ms 23:23:28.283 [info] GET /sources/4/media/21205/edit 23:23:28.283 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "21205", "source_id" => "4"} Pipelines: [:browser] 23:23:28.283 [debug] QUERY OK source="media_items" db=0.3ms idle=576.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" = ?) [21205] 23:23:28.284 [debug] QUERY OK source="settings" db=0.1ms idle=562.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:28.284 [debug] QUERY OK source="settings" db=0.2ms idle=561.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:28.285 [debug] QUERY OK source="settings" db=0.5ms idle=562.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:28.286 [info] Sent 200 in 3ms 23:23:28.817 [info] GET /sources/8/media/20392/edit 23:23:28.818 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "20392", "source_id" => "8"} Pipelines: [:browser] 23:23:28.819 [debug] QUERY OK source="media_items" db=0.4ms idle=534.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [20392] 23:23:28.820 [debug] QUERY OK source="settings" db=0.3ms idle=535.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:28.821 [debug] QUERY OK source="settings" db=0.5ms idle=535.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:28.822 [debug] QUERY OK source="settings" db=0.3ms idle=536.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:28.824 [info] Sent 200 in 7ms 23:23:29.365 [info] GET /sources/7/media/20161/edit 23:23:29.365 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "20161", "source_id" => "7"} Pipelines: [:browser] 23:23:29.366 [debug] QUERY OK source="media_items" db=0.4ms idle=654.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" = ?) [20161] 23:23:29.367 [debug] QUERY OK source="settings" db=0.3ms idle=548.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:29.368 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=547.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:29.371 [debug] QUERY OK source="settings" db=1.6ms idle=548.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:29.373 [info] Sent 200 in 8ms 23:23:29.860 [info] GET /sources/6/media/25116/edit 23:23:29.860 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "25116", "source_id" => "6"} Pipelines: [:browser] 23:23:29.861 [debug] QUERY OK source="media_items" db=0.6ms idle=494.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" = ?) [25116] 23:23:29.862 [debug] QUERY OK source="settings" db=0.2ms idle=494.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:29.863 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=494.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:29.864 [debug] QUERY OK source="settings" db=0.2ms idle=493.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:29.866 [info] Sent 200 in 6ms 23:23:30.375 [info] GET /sources/8/media/25812/edit 23:23:30.376 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "25812", "source_id" => "8"} Pipelines: [:browser] 23:23:30.377 [debug] QUERY OK source="media_items" db=0.8ms idle=661.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [25812] 23:23:30.378 [debug] QUERY OK source="settings" db=0.2ms idle=516.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:30.379 [debug] QUERY OK source="settings" db=0.3ms idle=516.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:30.380 [debug] QUERY OK source="settings" db=0.3ms idle=517.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:30.382 [info] Sent 200 in 6ms 23:23:30.917 [info] GET /sources/4/media/21206/edit 23:23:30.917 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "21206", "source_id" => "4"} Pipelines: [:browser] 23:23:30.918 [debug] QUERY OK source="media_items" db=0.5ms idle=540.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [21206] 23:23:30.920 [debug] QUERY OK source="settings" db=0.6ms idle=541.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:30.921 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=541.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:30.925 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=542.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:30.928 [info] Sent 200 in 10ms 23:23:31.455 [info] GET /sources/6/media/24143/edit 23:23:31.455 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "24143", "source_id" => "6"} Pipelines: [:browser] 23:23:31.455 [debug] QUERY OK source="media_items" db=0.1ms idle=738.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24143] 23:23:31.456 [debug] QUERY OK source="settings" db=0.1ms idle=537.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:31.456 [debug] QUERY OK source="settings" db=0.1ms idle=535.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:31.457 [debug] QUERY OK source="settings" db=0.5ms idle=534.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:31.458 [info] Sent 200 in 3ms 23:23:32.000 [info] GET /sources/8/media/24100/edit 23:23:32.001 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "24100", "source_id" => "8"} Pipelines: [:browser] 23:23:32.002 [debug] QUERY OK source="media_items" db=1.0ms idle=545.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24100] 23:23:32.003 [debug] QUERY OK source="settings" db=0.2ms idle=546.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:32.003 [debug] QUERY OK source="settings" db=0.5ms idle=546.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:32.004 [debug] QUERY OK source="settings" db=0.5ms idle=546.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:32.007 [info] Sent 200 in 6ms 23:23:32.501 [info] GET /sources/4/media/21196/edit 23:23:32.501 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "21196", "source_id" => "4"} Pipelines: [:browser] 23:23:32.502 [debug] QUERY OK source="media_items" db=0.4ms idle=783.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [21196] 23:23:32.504 [debug] QUERY OK source="settings" db=0.3ms idle=501.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:32.505 [debug] QUERY OK source="settings" db=0.7ms idle=501.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:32.506 [debug] QUERY OK source="settings" db=0.1ms idle=502.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:32.507 [info] Sent 200 in 6ms 23:23:33.014 [info] GET /sources/9/media/16959/edit 23:23:33.015 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16959", "source_id" => "9"} Pipelines: [:browser] 23:23:33.016 [debug] QUERY OK source="media_items" db=1.1ms idle=512.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16959] 23:23:33.018 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=513.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:33.018 [debug] QUERY OK source="settings" db=0.4ms idle=513.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:33.020 [debug] QUERY OK source="settings" db=0.2ms idle=513.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:33.021 [info] Sent 200 in 6ms 23:23:33.562 [info] GET /sources/9/media/16566/edit 23:23:33.562 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16566", "source_id" => "9"} Pipelines: [:browser] 23:23:33.563 [debug] QUERY OK source="media_items" db=0.4ms idle=842.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" = ?) [16566] 23:23:33.564 [debug] QUERY OK source="settings" db=0.3ms idle=547.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:33.565 [debug] QUERY OK source="settings" db=0.3ms idle=546.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:33.566 [debug] QUERY OK source="settings" db=0.3ms idle=547.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:33.568 [info] Sent 200 in 6ms 23:23:34.129 [info] GET /sources/7/media/19723/edit 23:23:34.129 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "19723", "source_id" => "7"} Pipelines: [:browser] 23:23:34.131 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=566.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [19723] 23:23:34.132 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=567.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:34.133 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=567.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:34.134 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=567.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:34.137 [info] Sent 200 in 8ms 23:23:34.628 [info] GET /sources/6/media/11558/edit 23:23:34.628 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "11558", "source_id" => "6"} Pipelines: [:browser] 23:23:34.629 [debug] QUERY OK source="media_items" db=0.4ms idle=906.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11558] 23:23:34.630 [debug] QUERY OK source="settings" db=0.3ms idle=499.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:34.631 [debug] QUERY OK source="settings" db=0.2ms idle=498.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:34.633 [debug] QUERY OK source="settings" db=0.2ms idle=499.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:34.634 [info] Sent 200 in 6ms 23:23:35.161 [info] GET /sources/4/media/22006/edit 23:23:35.162 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "22006", "source_id" => "4"} Pipelines: [:browser] 23:23:35.164 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=532.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [22006] 23:23:35.169 [debug] QUERY OK source="settings" db=3.0ms queue=0.1ms idle=535.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:35.171 [debug] QUERY OK source="settings" db=1.7ms idle=538.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:35.175 [debug] QUERY OK source="settings" db=3.1ms idle=539.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:35.176 [info] Sent 200 in 15ms 23:23:35.665 [info] GET /sources/4/media/21199/edit 23:23:35.665 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "21199", "source_id" => "4"} Pipelines: [:browser] 23:23:35.665 [debug] QUERY OK source="media_items" db=0.2ms idle=940.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [21199] 23:23:35.666 [debug] QUERY OK source="settings" db=0.1ms idle=502.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:35.666 [debug] QUERY OK source="settings" db=0.2ms idle=496.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:35.668 [debug] QUERY OK source="settings" db=0.6ms idle=495.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:35.669 [info] Sent 200 in 4ms 23:23:35.926 [info] {"source":"oban","duration":3693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:36.191 [info] GET /sources/7/media/24585/edit 23:23:36.191 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "24585", "source_id" => "7"} Pipelines: [:browser] 23:23:36.193 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=525.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24585] 23:23:36.197 [debug] QUERY OK source="settings" db=0.8ms idle=529.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:36.198 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=529.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:36.202 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=473.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:36.205 [info] Sent 200 in 14ms 23:23:36.728 [info] GET /sources/6/media/19764/edit 23:23:36.728 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "19764", "source_id" => "6"} Pipelines: [:browser] 23:23:36.729 [debug] QUERY OK source="media_items" db=0.7ms idle=535.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [19764] 23:23:36.731 [debug] QUERY OK source="settings" db=0.6ms idle=533.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:36.732 [debug] QUERY OK source="settings" db=0.8ms idle=532.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:36.733 [debug] QUERY OK source="settings" db=0.5ms idle=530.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:36.734 [info] Sent 200 in 6ms 23:23:37.262 [info] GET /sources/7/media/24830/edit 23:23:37.263 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "24830", "source_id" => "7"} Pipelines: [:browser] 23:23:37.266 [debug] QUERY OK source="media_items" db=2.2ms idle=533.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24830] 23:23:37.267 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=536.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:37.268 [debug] QUERY OK source="settings" db=0.5ms idle=536.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:37.269 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=536.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:37.272 [info] Sent 200 in 9ms 23:23:37.804 [info] GET /sources/9/media/19358/edit 23:23:37.804 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "19358", "source_id" => "9"} Pipelines: [:browser] 23:23:37.806 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=538.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" = ?) [19358] 23:23:37.807 [debug] QUERY OK source="settings" db=0.4ms idle=539.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:37.807 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=539.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:37.808 [debug] QUERY OK source="settings" db=0.1ms idle=538.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:37.809 [info] Sent 200 in 5ms 23:23:38.316 [info] GET /sources/3/media/20480/edit 23:23:38.316 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "20480", "source_id" => "3"} Pipelines: [:browser] 23:23:38.317 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=584.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [20480] 23:23:38.318 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=512.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:38.319 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=512.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:38.321 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=512.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:38.322 [info] Sent 200 in 6ms 23:23:38.825 [info] GET /sources/9/media/16965/edit 23:23:38.825 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16965", "source_id" => "9"} Pipelines: [:browser] 23:23:38.827 [debug] QUERY OK source="media_items" db=0.9ms idle=508.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16965] 23:23:38.828 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=509.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:38.829 [debug] QUERY OK source="settings" db=0.4ms idle=509.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:38.831 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=509.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:38.833 [info] Sent 200 in 8ms 23:23:39.344 [info] GET /sources/4/media/22007/edit 23:23:39.344 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "22007", "source_id" => "4"} Pipelines: [:browser] 23:23:39.345 [debug] QUERY OK source="media_items" db=0.4ms idle=609.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" = ?) [22007] 23:23:39.346 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=518.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:39.347 [debug] QUERY OK source="settings" db=0.6ms idle=518.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:39.349 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=518.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:39.351 [info] Sent 200 in 7ms 23:23:39.867 [info] GET /sources/6/media/24383/edit 23:23:39.868 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "24383", "source_id" => "6"} Pipelines: [:browser] 23:23:39.869 [debug] QUERY OK source="media_items" db=0.4ms idle=523.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24383] 23:23:39.870 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=523.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:39.871 [debug] QUERY OK source="settings" db=0.4ms idle=523.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:39.872 [debug] QUERY OK source="settings" db=0.3ms idle=523.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:39.874 [info] Sent 200 in 6ms 23:23:40.321 [info] GET /sources/6/media/11560/edit 23:23:40.321 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "11560", "source_id" => "6"} Pipelines: [:browser] 23:23:40.322 [debug] QUERY OK source="media_items" db=0.5ms idle=584.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" = ?) [11560] 23:23:40.323 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=454.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:40.324 [debug] QUERY OK source="settings" db=0.4ms idle=453.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:40.327 [debug] QUERY OK source="settings" db=1.5ms idle=454.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:40.328 [info] Sent 200 in 7ms 23:23:40.829 [info] GET /sources/7/media/25813/edit 23:23:40.829 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "25813", "source_id" => "7"} Pipelines: [:browser] 23:23:40.830 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=507.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [25813] 23:23:40.831 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=507.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:40.832 [debug] QUERY OK source="settings" db=0.4ms idle=507.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:40.834 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=506.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:40.835 [info] Sent 200 in 6ms 23:23:41.371 [info] GET /sources/4/media/21200/edit 23:23:41.371 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "21200", "source_id" => "4"} Pipelines: [:browser] 23:23:41.372 [debug] QUERY OK source="media_items" db=0.4ms idle=631.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" = ?) [21200] 23:23:41.373 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=542.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:41.374 [debug] QUERY OK source="settings" db=0.4ms idle=542.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:41.375 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=542.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:41.378 [info] Sent 200 in 7ms 23:23:41.905 [info] GET /sources/4/media/22001/edit 23:23:41.905 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "22001", "source_id" => "4"} Pipelines: [:browser] 23:23:41.907 [debug] QUERY OK source="media_items" db=1.1ms idle=534.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [22001] 23:23:41.909 [debug] QUERY OK source="settings" db=0.9ms idle=534.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:41.911 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=535.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:41.915 [debug] QUERY OK source="settings" db=2.6ms idle=536.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:41.917 [info] Sent 200 in 12ms 23:23:42.414 [info] GET /sources/7/media/24342/edit 23:23:42.414 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "24342", "source_id" => "7"} Pipelines: [:browser] 23:23:42.414 [debug] QUERY OK source="media_items" db=0.2ms idle=672.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24342] 23:23:42.415 [debug] QUERY OK source="settings" db=0.1ms idle=507.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:42.415 [debug] QUERY OK source="settings" db=0.0ms idle=506.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:42.416 [debug] QUERY OK source="settings" db=0.0ms idle=504.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:42.416 [info] Sent 200 in 2ms 23:23:42.937 [info] GET /sources/6/media/11559/edit 23:23:42.937 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "11559", "source_id" => "6"} Pipelines: [:browser] 23:23:42.939 [debug] QUERY OK source="media_items" db=0.4ms idle=523.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11559] 23:23:42.940 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=524.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:42.941 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=524.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:42.942 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=526.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:42.945 [info] Sent 200 in 7ms 23:23:43.486 [info] GET /sources/6/media/20432/edit 23:23:43.487 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "20432", "source_id" => "6"} Pipelines: [:browser] 23:23:43.488 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=743.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [20432] 23:23:43.489 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=550.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:43.490 [debug] QUERY OK source="settings" db=0.1ms idle=549.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:43.490 [debug] QUERY OK source="settings" db=0.1ms idle=549.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:43.491 [info] Sent 200 in 4ms 23:23:43.969 [info] GET /sources/9/media/16960/edit 23:23:43.969 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16960", "source_id" => "9"} Pipelines: [:browser] 23:23:43.971 [debug] QUERY OK source="media_items" db=0.4ms idle=481.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" = ?) [16960] 23:23:43.971 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=481.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:43.972 [debug] QUERY OK source="settings" db=0.3ms idle=482.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:43.974 [debug] QUERY OK source="settings" db=0.6ms idle=482.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:43.976 [info] Sent 200 in 7ms 23:23:44.463 [info] GET /sources/8/media/17568/edit 23:23:44.464 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "17568", "source_id" => "8"} Pipelines: [:browser] 23:23:44.465 [debug] QUERY OK source="media_items" db=0.4ms idle=717.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [17568] 23:23:44.466 [debug] QUERY OK source="settings" db=0.2ms idle=494.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:44.466 [debug] QUERY OK source="settings" db=0.3ms idle=494.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:44.468 [debug] QUERY OK source="settings" db=0.6ms idle=495.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:44.469 [info] Sent 200 in 5ms 23:23:45.040 [info] GET /sources/8/media/17570/edit 23:23:45.041 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "17570", "source_id" => "8"} Pipelines: [:browser] 23:23:45.041 [debug] QUERY OK source="media_items" db=0.3ms idle=576.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" = ?) [17570] 23:23:45.042 [debug] QUERY OK source="settings" db=0.2ms idle=576.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:45.043 [debug] QUERY OK source="settings" db=0.1ms idle=576.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:45.044 [debug] QUERY OK source="settings" db=1.0ms idle=575.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:45.046 [info] Sent 200 in 5ms 23:23:45.546 [info] GET /sources/9/media/16570/edit 23:23:45.547 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16570", "source_id" => "9"} Pipelines: [:browser] 23:23:45.548 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=797.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" = ?) [16570] 23:23:45.549 [debug] QUERY OK source="settings" db=0.3ms idle=507.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:45.550 [debug] QUERY OK source="settings" db=0.2ms idle=507.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:45.551 [debug] QUERY OK source="settings" db=0.2ms idle=508.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:45.553 [info] Sent 200 in 6ms 23:23:46.042 [info] GET /sources/4/media/21204/edit 23:23:46.043 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "21204", "source_id" => "4"} Pipelines: [:browser] 23:23:46.044 [debug] QUERY OK source="media_items" db=0.5ms idle=494.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [21204] 23:23:46.045 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=494.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:46.045 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=494.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:46.048 [debug] QUERY OK source="settings" db=1.6ms idle=494.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:46.049 [info] Sent 200 in 7ms 23:23:46.570 [info] GET /sources/9/media/16958/edit 23:23:46.570 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16958", "source_id" => "9"} Pipelines: [:browser] 23:23:46.571 [debug] QUERY OK source="media_items" db=0.4ms idle=820.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" = ?) [16958] 23:23:46.572 [debug] QUERY OK source="settings" db=0.3ms idle=528.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:46.573 [debug] QUERY OK source="settings" db=0.3ms idle=527.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:46.574 [debug] QUERY OK source="settings" db=0.1ms idle=528.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:46.575 [info] Sent 200 in 5ms 23:23:47.066 [info] GET /sources/3/media/18943/edit 23:23:47.066 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "18943", "source_id" => "3"} Pipelines: [:browser] 23:23:47.067 [debug] QUERY OK source="media_items" db=0.1ms idle=495.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" = ?) [18943] 23:23:47.067 [debug] QUERY OK source="settings" db=0.1ms idle=494.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:47.068 [debug] QUERY OK source="settings" db=0.1ms idle=494.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:47.069 [debug] QUERY OK source="settings" db=0.2ms idle=494.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:47.070 [info] Sent 200 in 3ms 23:23:47.617 [info] GET /sources/4/media/21207/edit 23:23:47.617 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "21207", "source_id" => "4"} Pipelines: [:browser] 23:23:47.618 [debug] QUERY OK source="media_items" db=0.4ms idle=865.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" = ?) [21207] 23:23:47.619 [debug] QUERY OK source="settings" db=0.2ms idle=552.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:47.621 [debug] QUERY OK source="settings" db=0.7ms idle=552.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:47.622 [debug] QUERY OK source="settings" db=0.3ms idle=553.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:47.623 [info] Sent 200 in 6ms 23:23:48.129 [info] GET /sources/9/media/16565/edit 23:23:48.129 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16565", "source_id" => "9"} Pipelines: [:browser] 23:23:48.129 [debug] QUERY OK source="media_items" db=0.2ms idle=510.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16565] 23:23:48.131 [debug] QUERY OK source="settings" db=0.8ms idle=510.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:48.131 [debug] QUERY OK source="settings" db=0.2ms idle=510.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:48.132 [debug] QUERY OK source="settings" db=0.5ms idle=509.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:48.133 [info] Sent 200 in 4ms 23:23:48.661 [info] GET /sources/4/media/22005/edit 23:23:48.662 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "22005", "source_id" => "4"} Pipelines: [:browser] 23:23:48.663 [debug] QUERY OK source="media_items" db=0.4ms idle=908.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" = ?) [22005] 23:23:48.664 [debug] QUERY OK source="settings" db=0.3ms idle=534.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:48.665 [debug] QUERY OK source="settings" db=0.4ms idle=533.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:48.666 [debug] QUERY OK source="settings" db=0.1ms idle=534.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:48.667 [info] Sent 200 in 5ms 23:23:49.169 [info] GET /sources/8/media/20149/edit 23:23:49.169 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "20149", "source_id" => "8"} Pipelines: [:browser] 23:23:49.170 [debug] QUERY OK source="media_items" db=0.5ms idle=506.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" = ?) [20149] 23:23:49.171 [debug] QUERY OK source="settings" db=0.3ms idle=507.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:49.172 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=507.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:49.174 [debug] QUERY OK source="settings" db=0.2ms queue=0.3ms idle=507.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:49.177 [info] Sent 200 in 8ms 23:23:49.738 [info] GET /sources/9/media/16963/edit 23:23:49.739 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16963", "source_id" => "9"} Pipelines: [:browser] 23:23:49.740 [debug] QUERY OK source="media_items" db=0.4ms idle=982.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16963] 23:23:49.740 [debug] QUERY OK source="settings" db=0.2ms idle=569.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:49.741 [debug] QUERY OK source="settings" db=0.3ms idle=569.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:49.742 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=569.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:49.744 [info] Sent 200 in 5ms 23:23:50.210 [info] GET /sources/7/media/20628/edit 23:23:50.210 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "20628", "source_id" => "7"} Pipelines: [:browser] 23:23:50.211 [debug] QUERY OK source="media_items" db=0.4ms idle=471.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [20628] 23:23:50.213 [debug] QUERY OK source="settings" db=0.8ms idle=471.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:50.214 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=472.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:50.215 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=472.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:50.218 [info] Sent 200 in 8ms 23:23:50.748 [info] GET /sources/7/media/25320/edit 23:23:50.748 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "25320", "source_id" => "7"} Pipelines: [:browser] 23:23:50.749 [debug] QUERY OK source="media_items" db=0.4ms idle=990.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [25320] 23:23:50.750 [debug] QUERY OK source="settings" db=0.3ms idle=538.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:50.751 [debug] QUERY OK source="settings" db=0.6ms idle=537.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:50.753 [debug] QUERY OK source="settings" db=0.6ms idle=538.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:50.754 [info] Sent 200 in 6ms 23:23:51.280 [info] GET /sources/9/media/16567/edit 23:23:51.281 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16567", "source_id" => "9"} Pipelines: [:browser] 23:23:51.282 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=532.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16567] 23:23:51.284 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=532.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:51.286 [debug] QUERY OK source="settings" db=0.8ms queue=0.5ms idle=533.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:51.288 [debug] QUERY OK source="settings" db=1.9ms idle=533.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:51.290 [info] Sent 200 in 9ms 23:23:51.814 [info] GET /sources/9/media/16568/edit 23:23:51.815 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16568", "source_id" => "9"} Pipelines: [:browser] 23:23:51.815 [debug] QUERY OK source="media_items" db=0.1ms idle=532.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16568] 23:23:51.815 [debug] QUERY OK source="settings" db=0.0ms idle=531.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:51.816 [debug] QUERY OK source="settings" db=0.2ms idle=529.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:51.817 [debug] QUERY OK source="settings" db=0.2ms idle=527.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:51.818 [info] Sent 200 in 3ms 23:23:52.345 [info] GET /sources/6/media/24871/edit 23:23:52.346 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "24871", "source_id" => "6"} Pipelines: [:browser] 23:23:52.346 [debug] QUERY OK source="media_items" db=0.2ms idle=584.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24871] 23:23:52.347 [debug] QUERY OK source="settings" db=0.1ms idle=531.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:52.347 [debug] QUERY OK source="settings" db=0.4ms idle=531.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:52.349 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=532.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:52.351 [info] Sent 200 in 6ms 23:23:52.882 [info] GET /sources/4/media/22003/edit 23:23:52.882 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "22003", "source_id" => "4"} Pipelines: [:browser] 23:23:52.883 [debug] QUERY OK source="media_items" db=0.4ms idle=536.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [22003] 23:23:52.884 [debug] QUERY OK source="settings" db=0.3ms idle=537.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:52.885 [debug] QUERY OK source="settings" db=0.5ms idle=537.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:52.887 [debug] QUERY OK source="settings" db=0.2ms idle=538.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:52.890 [info] Sent 200 in 8ms 23:23:53.401 [info] GET /sources/7/media/24101/edit 23:23:53.401 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "24101", "source_id" => "7"} Pipelines: [:browser] 23:23:53.403 [debug] QUERY OK source="media_items" db=1.4ms idle=637.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24101] 23:23:53.405 [debug] QUERY OK source="settings" db=0.4ms queue=1.5ms idle=519.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:53.407 [debug] QUERY OK source="settings" db=0.5ms queue=1.1ms idle=520.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:53.409 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=522.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:53.415 [info] Sent 200 in 14ms 23:23:53.896 [info] GET /sources/9/media/16962/edit 23:23:53.897 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16962", "source_id" => "9"} Pipelines: [:browser] 23:23:53.898 [debug] QUERY OK source="media_items" db=0.5ms idle=494.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16962] 23:23:53.899 [debug] QUERY OK source="settings" db=0.7ms idle=493.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:53.900 [debug] QUERY OK source="settings" db=0.8ms idle=492.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:53.901 [debug] QUERY OK source="settings" db=0.1ms idle=491.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:53.902 [info] Sent 200 in 6ms 23:23:54.402 [info] GET /sources/4/media/22008/edit 23:23:54.403 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "22008", "source_id" => "4"} Pipelines: [:browser] 23:23:54.405 [debug] QUERY OK source="media_items" db=2.1ms idle=637.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [22008] 23:23:54.406 [debug] QUERY OK source="settings" db=0.4ms idle=508.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:54.407 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=507.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:54.409 [debug] QUERY OK source="settings" db=0.6ms idle=507.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:54.412 [info] Sent 200 in 9ms 23:23:54.943 [info] GET /sources/4/media/21197/edit 23:23:54.944 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "21197", "source_id" => "4"} Pipelines: [:browser] 23:23:54.945 [debug] QUERY OK source="media_items" db=0.5ms idle=538.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" = ?) [21197] 23:23:54.946 [debug] QUERY OK source="settings" db=0.3ms idle=539.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:54.947 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=539.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:54.949 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=539.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:54.950 [info] Sent 200 in 6ms 23:23:55.502 [info] GET /sources/4/media/21198/edit 23:23:55.502 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "21198", "source_id" => "4"} Pipelines: [:browser] 23:23:55.503 [debug] QUERY OK source="media_items" db=0.3ms idle=735.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" = ?) [21198] 23:23:55.504 [debug] QUERY OK source="settings" db=0.2ms idle=558.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:55.504 [debug] QUERY OK source="settings" db=0.3ms idle=557.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:55.505 [debug] QUERY OK source="settings" db=0.5ms idle=557.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:55.508 [info] Sent 200 in 5ms 23:23:55.980 [info] GET /sources/8/media/25812/force_download 23:23:55.981 [debug] QUERY OK source="settings" db=0.4ms idle=477.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:55.982 [debug] QUERY OK source="settings" db=0.4ms idle=478.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:55.982 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:23:55.983 [error] #PID<0.148010.0> running PinchflatWeb.Endpoint (connection #PID<0.147318.0>, stream id 252) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/8/media/25812/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/8/media/25812/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147318.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/25812/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47546}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/25812", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 252, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ" }, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148010.0>, params: %{}, path_info: ["sources", "8", "media", "25812", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/8/media/25812"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/8/media/25812/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTdoMHh8rqp0koADJbB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147318.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/25812/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47546}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/25812", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 252, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/media/25812/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147318.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/25812/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47546}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/25812", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "ht (truncated) 23:23:56.523 [info] GET /sources/7/media/24585/force_download 23:23:56.525 [debug] QUERY OK source="settings" db=1.3ms idle=1019.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:56.526 [debug] QUERY OK source="settings" db=1.0ms idle=1020.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:56.527 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:23:56.529 [error] #PID<0.148011.0> running PinchflatWeb.Endpoint (connection #PID<0.147318.0>, stream id 253) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/24585/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/7/media/24585/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147318.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/24585/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47546}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/24585", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 253, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ" }, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148011.0>, params: %{}, path_info: ["sources", "7", "media", "24585", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/24585"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/24585/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTdoOI5LEOWOZcADJbh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147318.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/24585/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47546}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/24585", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 253, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/24585/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147318.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/24585/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47546}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/24585", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "ht (truncated) 23:23:58.145 [info] GET /sources/4/media/22007/force_download 23:23:58.146 [debug] QUERY OK source="settings" db=0.3ms idle=1619.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:58.147 [debug] QUERY OK source="settings" db=0.5ms 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 [] 23:23:58.148 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:23:58.149 [error] #PID<0.148012.0> running PinchflatWeb.Endpoint (connection #PID<0.147318.0>, stream id 254) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/22007/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/4/media/22007/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147318.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22007/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47546}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22007", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 254, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ" }, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148012.0>, params: %{}, path_info: ["sources", "4", "media", "22007", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/22007"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/22007/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTdoULuTW0z9OkADJcB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147318.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22007/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47546}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22007", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 254, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/22007/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147318.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22007/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47546}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22007", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "ht (truncated) 23:24:00.044 [info] {"source":"oban","duration":313,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:24:02.849 [info] GET /sources/9/media/16958/force_download 23:24:02.850 [debug] QUERY OK source="settings" db=0.4ms idle=1653.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:24:02.852 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=1654.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:24:02.852 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:24:02.852 [error] #PID<0.148013.0> running PinchflatWeb.Endpoint (connection #PID<0.147318.0>, stream id 255) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16958/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/9/media/16958/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147318.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16958/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47546}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16958", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 255, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ" }, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148013.0>, params: %{}, path_info: ["sources", "9", "media", "16958", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16958"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16958/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTdoltNEXz0yhAADJch"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147318.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16958/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47546}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16958", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 255, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16958/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.147318.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16958/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47546}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16958", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "ht (truncated) 23:24:05.929 [info] {"source":"oban","duration":1434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:16.839 [info] GET /sources/9/media/16965/force_download 23:24:16.840 [debug] QUERY OK source="settings" db=0.1ms idle=1643.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:24:16.840 [debug] QUERY OK source="settings" db=0.1ms idle=1643.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:24:16.840 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:24:16.841 [error] #PID<0.148018.0> running PinchflatWeb.Endpoint (connection #PID<0.148017.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16965/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/9/media/16965/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148017.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16965/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35080}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16965", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ" }, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148018.0>, params: %{}, path_info: ["sources", "9", "media", "16965", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16965"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16965/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTdpZ0to6OUcLUADJdh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148017.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16965/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35080}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16965", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16965/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148017.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16965/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35080}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16965", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", (truncated) 23:24:35.931 [info] {"source":"oban","duration":1367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:00.048 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:25:01.134 [info] GET /sources/9/media/16563/force_download 23:25:01.137 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=1938.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:25:01.137 [debug] QUERY OK source="settings" db=0.4ms idle=1221.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:25:01.137 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:25:01.138 [error] #PID<0.148023.0> running PinchflatWeb.Endpoint (connection #PID<0.148022.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16563/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/9/media/16563/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148022.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16563/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58750}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16563", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ" }, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148023.0>, params: %{}, path_info: ["sources", "9", "media", "16563", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16563"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16563/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTdr-1adjMrql4ADJeh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148022.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16563/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58750}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16563", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16563/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148022.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16563/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58750}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT3JUcjN0RW1ldDhTMll6ZFF3X1NvNkhT.j0eOBxgjR6kmdxyfnInxGjyY-_7G8GdKRBUbJMq0XZQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16563", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", (truncated) 23:25:05.933 [info] {"source":"oban","duration":1191,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:35.936 [info] {"source":"oban","duration":1925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:00.050 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:26:03.392 [info] GET /sources/6/media/19981/force_download 23:26:03.392 [debug] QUERY OK source="settings" db=0.1ms idle=326.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:26:03.393 [debug] QUERY OK source="settings" db=0.1ms idle=196.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:26:03.393 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:26:03.394 [error] #PID<0.148030.0> running PinchflatWeb.Endpoint (connection #PID<0.148029.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/19981/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/6/media/19981/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148029.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/19981/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40928}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/19981", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148030.0>, params: %{}, path_info: ["sources", "6", "media", "19981", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/19981"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/19981/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTdvmw0GDUSBrwADJgB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148029.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/19981/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40928}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/19981", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/19981/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148029.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/19981/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40928}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/19981", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148030.0>, params: %{}, path_info: ["sources", "6", "media", "19981", "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 => "http (truncated) 23:26:05.937 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:05.955 [info] GET / 23:26:05.955 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 23:26:05.956 [debug] QUERY OK source="settings" db=0.3ms idle=759.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:26:05.957 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=760.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 23:26:05.957 [debug] QUERY OK source="sources" db=0.3ms idle=760.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 23:26:05.961 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=761.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:26:05.962 [debug] QUERY OK source="media_items" db=1.2ms idle=23.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:26:05.963 [debug] QUERY OK source="settings" db=0.1ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:26:05.963 [debug] QUERY OK source="settings" db=0.1ms 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 [] 23:26:05.963 [debug] QUERY OK source="settings" db=0.1ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:26:05.964 [debug] QUERY OK source="tasks" db=0.1ms idle=3.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"] 23:26:05.965 [debug] QUERY OK source="media_items" db=0.6ms idle=2.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)) [] 23:26:05.966 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 23:26:05.966 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 23:26:05.973 [debug] QUERY OK source="media_items" db=5.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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 23:26:05.974 [debug] QUERY OK source="media_items" db=0.5ms idle=9.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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] 23:26:05.975 [debug] QUERY OK source="sources" db=0.1ms idle=9.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 23:26:05.976 [info] Sent 200 in 21ms 23:26:35.940 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:00.051 [info] {"source":"oban","duration":157,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:27:03.902 [info] GET /sources/4/media/21198/force_download 23:27:03.904 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=706.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:27:03.905 [debug] QUERY OK source="settings" db=1.1ms queue=0.2ms idle=707.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:27:03.906 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:27:03.907 [error] #PID<0.148039.0> running PinchflatWeb.Endpoint (connection #PID<0.148038.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/21198/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/4/media/21198/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148038.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21198/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42140}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21198", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148039.0>, params: %{}, path_info: ["sources", "4", "media", "21198", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/21198"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/21198/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTdzILnU0CPNT4ADJiB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148038.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21198/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42140}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21198", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/21198/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148038.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21198/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42140}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21198", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148039.0>, params: %{}, path_info: ["sources", "4", "media", "21198", "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 => "http (truncated) 23:27:05.942 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:35.944 [info] {"source":"oban","duration":1226,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:00.053 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:28:05.946 [info] {"source":"oban","duration":1381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:07.489 [info] GET /sources/9/media/16960/force_download 23:28:07.489 [debug] QUERY OK source="settings" db=0.1ms idle=292.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:28:07.490 [debug] QUERY OK source="settings" db=0.1ms idle=292.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:28:07.490 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:28:07.490 [error] #PID<0.148046.0> running PinchflatWeb.Endpoint (connection #PID<0.148045.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16960/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/9/media/16960/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148045.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16960/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47994}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16960", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148046.0>, params: %{}, path_info: ["sources", "9", "media", "16960", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16960"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16960/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTd21D3gh1H0LcADJjh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148045.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16960/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47994}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16960", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16960/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148045.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16960/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47994}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16960", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148046.0>, params: %{}, path_info: ["sources", "9", "media", "16960", "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 => "http (truncated) 23:28:35.948 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:00.059 [info] {"source":"oban","duration":3697,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:29:05.950 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:12.726 [info] GET /sources/7/media/24342/force_download 23:29:12.727 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1528.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:29:12.729 [debug] QUERY OK source="settings" db=1.0ms idle=1529.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:29:12.729 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:29:12.730 [error] #PID<0.148054.0> running PinchflatWeb.Endpoint (connection #PID<0.148053.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/24342/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/7/media/24342/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148053.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/24342/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43096}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/24342", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148054.0>, params: %{}, path_info: ["sources", "7", "media", "24342", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/24342"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/24342/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTd6oFds0SK7_4ACAFj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148053.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/24342/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43096}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/24342", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/24342/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148053.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/24342/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43096}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/24342", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148054.0>, params: %{}, path_info: ["sources", "7", "media", "24342", "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 => "http (truncated) 23:29:35.952 [info] {"source":"oban","duration":1440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:00.060 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:30:05.954 [info] {"source":"oban","duration":1051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:15.851 [info] GET /sources/7/media/20161/force_download 23:30:15.852 [debug] QUERY OK source="settings" db=0.6ms idle=650.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:30:15.853 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=651.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:30:15.854 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:30:15.854 [error] #PID<0.148062.0> running PinchflatWeb.Endpoint (connection #PID<0.148061.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/20161/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/7/media/20161/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148061.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/20161/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 38022}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/20161", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148062.0>, params: %{}, path_info: ["sources", "7", "media", "20161", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/20161"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/20161/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTd-TPw65gTmhAACAHD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148061.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/20161/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 38022}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/20161", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/20161/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148061.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/20161/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 38022}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/20161", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148062.0>, params: %{}, path_info: ["sources", "7", "media", "20161", "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 => "http (truncated) 23:30:35.956 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:00.061 [info] {"source":"oban","duration":262,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:31:05.959 [info] {"source":"oban","duration":1366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:16.899 [info] GET /sources/4/media/21207/force_download 23:31:16.900 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1697.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:31:16.902 [debug] QUERY OK source="settings" db=1.1ms queue=0.2ms idle=1698.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:31:16.902 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:31:16.908 [error] #PID<0.148070.0> running PinchflatWeb.Endpoint (connection #PID<0.148069.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/21207/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/4/media/21207/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148069.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21207/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41436}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21207", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148070.0>, params: %{}, path_info: ["sources", "4", "media", "21207", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/21207"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/21207/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTeB2qozPbdxZ4ACAIj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148069.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21207/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41436}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21207", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/21207/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148069.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21207/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41436}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21207", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148070.0>, params: %{}, path_info: ["sources", "4", "media", "21207", "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 => "http (truncated) 23:31:35.960 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:00.062 [info] {"source":"oban","duration":161,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:32:05.962 [info] {"source":"oban","duration":1377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:16.942 [info] GET /sources/7/media/20628/force_download 23:32:16.944 [debug] QUERY OK source="settings" db=0.6ms idle=1741.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:32:16.945 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1742.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:32:16.946 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:32:16.947 [error] #PID<0.148077.0> running PinchflatWeb.Endpoint (connection #PID<0.148076.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/20628/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/7/media/20628/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148076.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/20628/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58140}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/20628", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148077.0>, params: %{}, path_info: ["sources", "7", "media", "20628", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/20628"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/20628/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTeFWWB2zGa_tAACAJD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148076.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/20628/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58140}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/20628", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/20628/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148076.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/20628/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58140}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/20628", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148077.0>, params: %{}, path_info: ["sources", "7", "media", "20628", "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 => "http (truncated) 23:32:35.964 [info] {"source":"oban","duration":1808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:00.063 [info] {"source":"oban","duration":247,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:33:05.966 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:22.676 [info] GET /sources/8/media/20375/force_download 23:33:22.677 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1474.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:33:22.678 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1475.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:33:22.678 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:33:22.679 [error] #PID<0.148087.0> running PinchflatWeb.Endpoint (connection #PID<0.148086.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/8/media/20375/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/8/media/20375/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148086.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/20375/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 36672}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/20375", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148087.0>, params: %{}, path_info: ["sources", "8", "media", "20375", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/8/media/20375"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/8/media/20375/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTeJLOMrbcHP9wADJnB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148086.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/20375/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 36672}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/20375", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/media/20375/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148086.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/20375/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 36672}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/20375", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148087.0>, params: %{}, path_info: ["sources", "8", "media", "20375", "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 => "http (truncated) 23:33:35.968 [info] {"source":"oban","duration":1630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:00.064 [info] {"source":"oban","duration":315,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:34:05.971 [info] {"source":"oban","duration":1998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:27.756 [info] GET /sources/4/media/21200/force_download 23:34:27.758 [debug] QUERY OK source="settings" db=0.4ms idle=596.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:34:27.758 [debug] QUERY OK source="settings" db=0.4ms idle=556.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:34:27.759 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:34:27.760 [error] #PID<0.148094.0> running PinchflatWeb.Endpoint (connection #PID<0.148093.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/21200/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/4/media/21200/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148093.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21200/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 49234}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21200", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148094.0>, params: %{}, path_info: ["sources", "4", "media", "21200", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/21200"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/21200/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTeM9qsQC6kPzwACALD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148093.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21200/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 49234}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21200", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/21200/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148093.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21200/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 49234}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21200", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148094.0>, params: %{}, path_info: ["sources", "4", "media", "21200", "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 => "http (truncated) 23:34:35.973 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:00.065 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:35:05.975 [info] {"source":"oban","duration":1345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:31.126 [info] GET /sources/4/media/22001/force_download 23:35:31.127 [debug] QUERY OK source="settings" db=0.3ms idle=1921.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:35:31.127 [debug] QUERY OK source="settings" db=0.3ms idle=1922.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:35:31.128 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:35:31.129 [error] #PID<0.148102.0> running PinchflatWeb.Endpoint (connection #PID<0.148101.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/22001/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/4/media/22001/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148101.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22001/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 34600}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22001", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148102.0>, params: %{}, path_info: ["sources", "4", "media", "22001", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/22001"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/22001/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTeQpvDrPdVjiYACAMD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148101.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22001/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 34600}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22001", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/22001/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148101.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22001/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 34600}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22001", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148102.0>, params: %{}, path_info: ["sources", "4", "media", "22001", "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 => "http (truncated) 23:35:35.977 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:00.066 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:36:05.980 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:33.872 [info] GET /sources/7/media/25813/force_download 23:36:33.873 [debug] QUERY OK source="settings" db=0.3ms idle=662.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:36:33.874 [debug] QUERY OK source="settings" db=0.4ms idle=663.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:36:33.874 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:36:33.875 [error] #PID<0.148109.0> running PinchflatWeb.Endpoint (connection #PID<0.148108.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/25813/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/7/media/25813/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148108.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/25813/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57962}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/25813", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148109.0>, params: %{}, path_info: ["sources", "7", "media", "25813", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/25813"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/25813/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTeUTe9ZW2fp_8ACANj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148108.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/25813/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57962}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/25813", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/25813/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148108.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/25813/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57962}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/25813", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148109.0>, params: %{}, path_info: ["sources", "7", "media", "25813", "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 => "http (truncated) 23:36:35.982 [info] {"source":"oban","duration":1518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:00.067 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:37:05.984 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:35.986 [info] {"source":"oban","duration":1367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:36.775 [info] GET /sources/4/media/21201/force_download 23:37:36.775 [debug] QUERY OK source="settings" db=0.2ms idle=1562.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:37:36.776 [debug] QUERY OK source="settings" db=0.3ms idle=1563.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:37:36.776 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:37:36.778 [error] #PID<0.148117.0> running PinchflatWeb.Endpoint (connection #PID<0.148116.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/21201/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/4/media/21201/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148116.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21201/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60088}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21201", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148117.0>, params: %{}, path_info: ["sources", "4", "media", "21201", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/21201"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/21201/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTeX90JpuypROQABr4C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148116.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21201/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60088}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21201", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/21201/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148116.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21201/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60088}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21201", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148117.0>, params: %{}, path_info: ["sources", "4", "media", "21201", "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 => "http (truncated) 23:38:00.068 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:38:05.988 [info] {"source":"oban","duration":1325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:35.990 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:37.983 [info] GET /sources/7/media/24101/force_download 23:38:37.984 [debug] QUERY OK source="settings" db=0.3ms idle=771.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:38:37.985 [debug] QUERY OK source="settings" db=0.1ms idle=772.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:38:37.985 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:38:37.986 [error] #PID<0.148124.0> running PinchflatWeb.Endpoint (connection #PID<0.148123.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/24101/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/7/media/24101/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148123.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/24101/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40680}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/24101", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148124.0>, params: %{}, path_info: ["sources", "7", "media", "24101", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/24101"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/24101/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTebh1cMN_fucEADJnh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148123.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/24101/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40680}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/24101", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/24101/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148123.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/24101/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40680}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/24101", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148124.0>, params: %{}, path_info: ["sources", "7", "media", "24101", "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 => "http (truncated) 23:39:00.069 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:39:05.992 [info] {"source":"oban","duration":1460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:35.995 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:40.032 [info] GET /sources/9/media/16564/force_download 23:39:40.034 [debug] QUERY OK source="settings" db=0.3ms idle=821.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:39:40.034 [debug] QUERY OK source="settings" db=0.2ms idle=821.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:39:40.035 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:39:40.036 [error] #PID<0.148132.0> running PinchflatWeb.Endpoint (connection #PID<0.148131.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16564/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/9/media/16564/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148131.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16564/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56276}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16564", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148132.0>, params: %{}, path_info: ["sources", "9", "media", "16564", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16564"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16564/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTefI_DvN4DyFAABr5C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148131.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16564/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56276}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16564", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16564/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148131.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16564/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56276}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16564", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148132.0>, params: %{}, path_info: ["sources", "9", "media", "16564", "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 => "http (truncated) 23:40:00.070 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:40:05.998 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:36.000 [info] {"source":"oban","duration":1484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:44.676 [info] GET /sources/4/media/22005/force_download 23:40:44.677 [debug] QUERY OK source="settings" db=0.3ms idle=1464.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:40:44.678 [debug] QUERY OK source="settings" db=0.9ms idle=1465.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:40:44.679 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:40:44.680 [error] #PID<0.148139.0> running PinchflatWeb.Endpoint (connection #PID<0.148138.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/22005/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/4/media/22005/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148138.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22005/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 36914}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22005", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148139.0>, params: %{}, path_info: ["sources", "4", "media", "22005", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/22005"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/22005/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTei5zRgyaxaMAADJpB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148138.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22005/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 36914}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22005", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/22005/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148138.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22005/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 36914}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22005", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148139.0>, params: %{}, path_info: ["sources", "4", "media", "22005", "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 => "http (truncated) 23:41:00.071 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:41:06.002 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:36.005 [info] {"source":"oban","duration":2384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:48.908 [info] GET /sources/2/media/19631/force_download 23:41:48.909 [debug] QUERY OK source="settings" db=0.5ms idle=1696.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:41:48.910 [debug] QUERY OK source="settings" db=0.5ms idle=1697.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:41:48.910 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:41:48.911 [error] #PID<0.148147.0> running PinchflatWeb.Endpoint (connection #PID<0.148146.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/2/media/19631/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/19631/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148146.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/19631/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40824}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/19631", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148147.0>, params: %{}, path_info: ["sources", "2", "media", "19631", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/2/media/19631"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/2/media/19631/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTempFWLsUxxLAADJph"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148146.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/19631/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40824}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/19631", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/19631/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148146.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/19631/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40824}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/19631", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148147.0>, params: %{}, path_info: ["sources", "2", "media", "19631", "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 => "http (truncated) 23:42:00.073 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:42:06.007 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:36.008 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:50.885 [info] GET /sources/4/media/22003/force_download 23:42:50.886 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1673.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:42:50.888 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1674.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:42:50.889 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:42:50.890 [error] #PID<0.148156.0> running PinchflatWeb.Endpoint (connection #PID<0.148155.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/22003/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/4/media/22003/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148155.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22003/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44300}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22003", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148156.0>, params: %{}, path_info: ["sources", "4", "media", "22003", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/22003"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/22003/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTeqP91mj3rWwQABr8C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148155.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22003/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44300}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22003", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/22003/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148155.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22003/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44300}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22003", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148156.0>, params: %{}, path_info: ["sources", "4", "media", "22003", "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 => "http (truncated) 23:43:00.074 [info] {"source":"oban","duration":249,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:43:06.011 [info] {"source":"oban","duration":2468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:36.014 [info] {"source":"oban","duration":2424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:51.581 [info] GET /sources/9/media/16959/force_download 23:43:51.583 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=369.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:43:51.584 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=371.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:43:51.585 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:43:51.586 [error] #PID<0.148164.0> running PinchflatWeb.Endpoint (connection #PID<0.148163.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16959/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/9/media/16959/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148163.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16959/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42408}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16959", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148164.0>, params: %{}, path_info: ["sources", "9", "media", "16959", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16959"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16959/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTetyE6TGHxD1QABr9i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148163.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16959/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42408}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16959", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16959/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148163.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16959/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42408}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16959", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148164.0>, params: %{}, path_info: ["sources", "9", "media", "16959", "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 => "http (truncated) 23:44:00.075 [info] {"source":"oban","duration":299,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:44:06.016 [info] {"source":"oban","duration":1850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:36.020 [info] {"source":"oban","duration":2287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:54.532 [info] GET /sources/6/media/25854/force_download 23:44:54.534 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1318.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:44:54.535 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1319.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:44:54.535 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:44:54.536 [error] #PID<0.148171.0> running PinchflatWeb.Endpoint (connection #PID<0.148170.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/25854/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/6/media/25854/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148170.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/25854/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 53692}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/25854", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148171.0>, params: %{}, path_info: ["sources", "6", "media", "25854", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/25854"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/25854/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTexclueWhZfC4ABr_C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148170.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/25854/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 53692}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/25854", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/25854/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148170.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/25854/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 53692}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/25854", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148171.0>, params: %{}, path_info: ["sources", "6", "media", "25854", "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 => "http (truncated) 23:45:00.076 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:45:06.022 [info] {"source":"oban","duration":1491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:36.024 [info] {"source":"oban","duration":1876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:55.689 [info] GET /sources/9/media/16966/force_download 23:45:55.693 [debug] QUERY OK source="settings" db=3.1ms queue=0.1ms idle=475.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:45:55.694 [debug] QUERY OK source="settings" db=0.3ms idle=478.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:45:55.694 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:45:55.695 [error] #PID<0.148179.0> running PinchflatWeb.Endpoint (connection #PID<0.148178.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16966/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/9/media/16966/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148178.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16966/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57438}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16966", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148179.0>, params: %{}, path_info: ["sources", "9", "media", "16966", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16966"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16966/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTe1Aar4-sPyiMACAPj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148178.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16966/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57438}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16966", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16966/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148178.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16966/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57438}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16966", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148179.0>, params: %{}, path_info: ["sources", "9", "media", "16966", "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 => "http (truncated) 23:46:00.077 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:46:06.028 [info] {"source":"oban","duration":2733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:36.030 [info] {"source":"oban","duration":1810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:47.328 [info] GET / 23:46:47.328 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 23:46:47.329 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=610.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:46:47.330 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=114.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 23:46:47.331 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=115.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 23:46:47.336 [debug] QUERY OK source="media_items" db=3.8ms queue=0.2ms idle=116.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:46:47.337 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=120.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:46:47.338 [debug] QUERY OK source="settings" db=0.3ms 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 [] 23:46:47.339 [debug] QUERY OK source="settings" db=0.2ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:46:47.340 [debug] QUERY OK source="settings" db=0.1ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:46:47.342 [debug] QUERY OK source="tasks" db=0.4ms 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"] 23:46:47.345 [debug] QUERY OK source="media_items" db=1.9ms idle=5.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)) [] 23:46:47.346 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=6.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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] 23:46:47.348 [debug] QUERY OK source="sources" db=0.6ms queue=0.3ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 23:46:47.366 [debug] QUERY OK source="media_items" db=11.1ms queue=0.1ms idle=14.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 23:46:47.369 [debug] QUERY OK source="media_items" db=2.4ms idle=24.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] 23:46:47.371 [debug] QUERY OK source="sources" db=1.0ms idle=24.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 23:46:47.373 [info] Sent 200 in 45ms 23:46:47.631 [info] GET / 23:46:47.631 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 23:46:47.633 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=285.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:46:47.634 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.2ms idle=284.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 23:46:47.634 [debug] QUERY OK source="sources" db=0.2ms queue=0.2ms idle=267.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 23:46:47.639 [debug] QUERY OK source="media_items" db=4.1ms idle=265.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:46:47.641 [debug] QUERY OK source="media_items" db=1.5ms idle=268.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:46:47.641 [debug] QUERY OK source="settings" db=0.3ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:46:47.642 [debug] QUERY OK source="settings" db=0.3ms 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 [] 23:46:47.644 [debug] QUERY OK source="settings" db=0.4ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:46:47.646 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=6.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 23:46:47.649 [debug] QUERY OK source="media_items" db=1.7ms idle=6.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:46:47.650 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms 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" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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] 23:46:47.652 [debug] QUERY OK source="sources" db=0.5ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 23:46:47.670 [debug] QUERY OK source="media_items" db=11.7ms idle=14.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 23:46:47.672 [debug] QUERY OK source="media_items" db=1.2ms idle=24.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 23:46:47.672 [debug] QUERY OK source="sources" db=0.3ms idle=23.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 23:46:47.675 [info] Sent 200 in 43ms 23:46:47.954 [info] CONNECTED TO Phoenix.LiveView.Socket in 45µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "JyhMQ1g5XFBdCVJEXBILByEBPF95DCsTwx81ns359g054xy3Onxr0IXX", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.fisean.duckdns.org/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.fisean.duckdns.org/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 23:46:47.987 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "PPtr6Joednbqhjr4noD-IEsK", "media_state" => "downloaded"} 23:46:47.989 [debug] QUERY OK source="media_items" db=1.7ms idle=335.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)) [] 23:46:47.991 [debug] QUERY OK source="media_items" db=1.0ms idle=319.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] 23:46:47.992 [debug] QUERY OK source="sources" db=0.5ms idle=319.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 23:46:47.992 [debug] Replied in 5ms 23:46:47.999 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "PPtr6Joednbqhjr4noD-IEsK", "media_state" => "pending"} 23:46:48.015 [debug] QUERY OK source="media_items" db=14.7ms idle=327.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"))) [] 23:46:48.018 [debug] QUERY OK source="media_items" db=2.2ms idle=295.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] 23:46:48.020 [debug] QUERY OK source="sources" db=1.5ms idle=29.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 23:46:48.021 [debug] Replied in 21ms 23:46:48.027 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "PPtr6Joednbqhjr4noD-IEsK"} 23:46:48.029 [debug] QUERY OK source="tasks" db=1.0ms queue=0.1ms idle=37.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"] 23:46:48.029 [debug] Replied in 2ms 23:46:48.343 [info] GET / 23:46:48.343 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 23:46:48.345 [debug] QUERY OK source="settings" db=0.7ms idle=351.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:46:48.345 [debug] QUERY OK source="media_profiles" db=0.2ms idle=330.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 23:46:48.346 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=327.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 23:46:48.350 [debug] QUERY OK source="media_items" db=3.7ms idle=325.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:46:48.353 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=321.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:46:48.354 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:46:48.355 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:46:48.356 [debug] QUERY OK source="settings" db=0.2ms idle=9.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:46:48.359 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=8.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 23:46:48.362 [debug] QUERY OK source="media_items" db=1.6ms 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)) [] 23:46:48.363 [debug] QUERY OK source="media_items" db=1.0ms queue=0.2ms idle=8.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 23:46:48.365 [debug] QUERY OK source="sources" db=0.9ms idle=9.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 23:46:48.383 [debug] QUERY OK source="media_items" db=12.1ms idle=14.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 23:46:48.385 [debug] QUERY OK source="media_items" db=1.3ms idle=24.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] 23:46:48.387 [debug] QUERY OK source="sources" db=0.4ms queue=0.9ms idle=23.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 23:46:48.391 [info] Sent 200 in 47ms 23:47:00.078 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:47:01.026 [info] GET /sources/4/media/22002/force_download 23:47:01.027 [debug] QUERY OK source="settings" db=0.4ms 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 [] 23:47:01.028 [debug] QUERY OK source="settings" db=0.6ms idle=812.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:47:01.028 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:47:01.029 [error] #PID<0.148209.0> running PinchflatWeb.Endpoint (connection #PID<0.148208.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/22002/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/4/media/22002/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148208.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22002/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41878}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22002", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148209.0>, params: %{}, path_info: ["sources", "4", "media", "22002", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/22002"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/22002/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTe4z0RP_Sgd0AACAUD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148208.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22002/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41878}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22002", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/22002/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148208.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22002/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41878}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22002", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148209.0>, params: %{}, path_info: ["sources", "4", "media", "22002", "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 => "http (truncated) 23:47:06.032 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:36.033 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:00.079 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:48:05.725 [info] GET /sources/7/media/24830/force_download 23:48:05.726 [debug] QUERY OK source="settings" db=0.3ms idle=1510.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:48:05.727 [debug] QUERY OK source="settings" db=0.8ms idle=841.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:48:05.727 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:48:05.728 [error] #PID<0.148216.0> running PinchflatWeb.Endpoint (connection #PID<0.148215.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/24830/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/7/media/24830/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148215.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/24830/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47258}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/24830", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148216.0>, params: %{}, path_info: ["sources", "7", "media", "24830", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/24830"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/24830/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTe8k1jvrywCsIACAVD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148215.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/24830/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47258}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/24830", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/24830/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148215.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/24830/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47258}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/24830", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148216.0>, params: %{}, path_info: ["sources", "7", "media", "24830", "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 => "http (truncated) 23:48:06.035 [info] {"source":"oban","duration":1655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:36.037 [info] {"source":"oban","duration":1251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:00.080 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:49:06.039 [info] {"source":"oban","duration":1128,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:09.419 [info] GET /sources/6/media/19764/force_download 23:49:09.420 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=391.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:49:09.420 [debug] QUERY OK source="settings" db=0.1ms idle=204.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:49:09.420 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:49:09.420 [error] #PID<0.148224.0> running PinchflatWeb.Endpoint (connection #PID<0.148223.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/19764/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/6/media/19764/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148223.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/19764/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60930}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/19764", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148224.0>, params: %{}, path_info: ["sources", "6", "media", "19764", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/19764"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/19764/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTfASHb-OeXCskABsNi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148223.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/19764/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60930}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/19764", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/19764/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148223.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/19764/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60930}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/19764", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148224.0>, params: %{}, path_info: ["sources", "6", "media", "19764", "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 => "http (truncated) 23:49:36.041 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:00.081 [info] {"source":"oban","duration":156,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:50:06.043 [info] {"source":"oban","duration":957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:14.617 [info] GET /sources/4/media/22004/force_download 23:50:14.618 [debug] QUERY OK source="settings" db=0.3ms idle=1402.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:50:14.619 [debug] QUERY OK source="settings" db=0.5ms idle=1403.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:50:14.619 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:50:14.620 [error] #PID<0.148231.0> running PinchflatWeb.Endpoint (connection #PID<0.148230.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/22004/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/4/media/22004/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148230.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22004/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47446}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22004", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148231.0>, params: %{}, path_info: ["sources", "4", "media", "22004", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/22004"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/22004/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTfEE_0id9blCAABsPC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148230.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22004/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47446}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22004", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/22004/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148230.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22004/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47446}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22004", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148231.0>, params: %{}, path_info: ["sources", "4", "media", "22004", "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 => "http (truncated) 23:50:36.044 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:00.082 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:51:06.045 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:17.731 [info] GET /sources/3/media/18943/force_download 23:51:17.732 [debug] QUERY OK source="settings" db=0.3ms idle=512.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:51:17.733 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=513.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:51:17.733 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:51:17.736 [error] #PID<0.148240.0> running PinchflatWeb.Endpoint (connection #PID<0.148239.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/18943/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/3/media/18943/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148239.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/18943/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44272}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/18943", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148240.0>, params: %{}, path_info: ["sources", "3", "media", "18943", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/18943"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/18943/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTfHwHTiFZ-njgABsQi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148239.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/18943/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44272}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/18943", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/18943/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148239.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/18943/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44272}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/18943", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148240.0>, params: %{}, path_info: ["sources", "3", "media", "18943", "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 => "http (truncated) 23:51:36.048 [info] {"source":"oban","duration":961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:00.083 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:52:06.050 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:18.029 [info] GET /sources/6/media/20432/force_download 23:52:18.029 [debug] QUERY OK source="settings" db=0.2ms idle=810.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:52:18.030 [debug] QUERY OK source="settings" db=0.3ms idle=810.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:52:18.030 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:52:18.031 [error] #PID<0.148247.0> running PinchflatWeb.Endpoint (connection #PID<0.148246.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/20432/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/6/media/20432/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148246.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/20432/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 51474}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/20432", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148247.0>, params: %{}, path_info: ["sources", "6", "media", "20432", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/20432"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/20432/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTfLQvidsLCz3sABsSC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148246.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/20432/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 51474}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/20432", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/20432/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148246.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/20432/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 51474}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/20432", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148247.0>, params: %{}, path_info: ["sources", "6", "media", "20432", "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 => "http (truncated) 23:52:36.052 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:00.084 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:53:06.053 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:21.430 [info] GET /sources/6/media/24143/force_download 23:53:21.431 [debug] QUERY OK source="settings" db=0.1ms idle=906.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:53:21.431 [debug] QUERY OK source="settings" db=0.1ms idle=212.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:53:21.431 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:53:21.432 [error] #PID<0.148255.0> running PinchflatWeb.Endpoint (connection #PID<0.148254.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/24143/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/6/media/24143/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148254.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/24143/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 49568}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/24143", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148255.0>, params: %{}, path_info: ["sources", "6", "media", "24143", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/24143"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/24143/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTfO87l3UE7FZAABsTi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148254.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/24143/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 49568}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/24143", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/24143/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148254.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/24143/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 49568}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/24143", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148255.0>, params: %{}, path_info: ["sources", "6", "media", "24143", "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 => "http (truncated) 23:53:36.054 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:00.085 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:54:06.055 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:23.620 [info] GET /sources/9/media/19358/force_download 23:54:23.621 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=956.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:54:23.622 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=401.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:54:23.622 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:54:23.623 [error] #PID<0.148264.0> running PinchflatWeb.Endpoint (connection #PID<0.148263.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/19358/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/9/media/19358/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148263.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/19358/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50598}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/19358", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148264.0>, params: %{}, path_info: ["sources", "9", "media", "19358", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/19358"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/19358/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTfSkmtIowPwHIABsVi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148263.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/19358/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50598}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/19358", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/19358/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148263.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/19358/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50598}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/19358", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148264.0>, params: %{}, path_info: ["sources", "9", "media", "19358", "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 => "http (truncated) 23:54:36.056 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:00.086 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:55:06.059 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:28.064 [info] GET /sources/8/media/20149/force_download 23:55:28.064 [debug] QUERY OK source="settings" db=0.1ms idle=843.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:55:28.064 [debug] QUERY OK source="settings" db=0.0ms idle=844.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:55:28.064 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:55:28.065 [error] #PID<0.148272.0> running PinchflatWeb.Endpoint (connection #PID<0.148271.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/8/media/20149/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/8/media/20149/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/20149/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57490}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/20149", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148272.0>, params: %{}, path_info: ["sources", "8", "media", "20149", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/8/media/20149"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/8/media/20149/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTfWUrWRrT4fu8ABsXC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/20149/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57490}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/20149", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/media/20149/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/20149/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57490}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/20149", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148272.0>, params: %{}, path_info: ["sources", "8", "media", "20149", "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 => "http (truncated) 23:55:36.068 [info] {"source":"oban","duration":8092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:00.087 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:56:06.070 [info] {"source":"oban","duration":1205,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:30.604 [info] GET /sources/4/media/21204/force_download 23:56:30.605 [debug] QUERY OK source="settings" db=0.3ms idle=1384.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:56:30.606 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1385.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:56:30.606 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:56:30.607 [error] #PID<0.148279.0> running PinchflatWeb.Endpoint (connection #PID<0.148278.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/21204/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/4/media/21204/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148278.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21204/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47984}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21204", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148279.0>, params: %{}, path_info: ["sources", "4", "media", "21204", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/21204"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/21204/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTfZ9qFgmLbp5wABsYi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148278.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21204/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47984}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21204", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/21204/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148278.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21204/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47984}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21204", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148279.0>, params: %{}, path_info: ["sources", "4", "media", "21204", "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 => "http (truncated) 23:56:36.072 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:00.089 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:57:06.075 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:31.791 [info] GET /sources/4/media/21199/force_download 23:57:31.793 [debug] QUERY OK source="settings" db=0.6ms idle=707.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:57:31.794 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=573.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:57:31.794 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:57:31.795 [error] #PID<0.148287.0> running PinchflatWeb.Endpoint (connection #PID<0.148286.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/21199/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/4/media/21199/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148286.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21199/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58752}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21199", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148287.0>, params: %{}, path_info: ["sources", "4", "media", "21199", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/21199"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/21199/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTfdhmSknESSFsABsaC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148286.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21199/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58752}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21199", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/21199/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148286.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21199/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58752}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21199", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148287.0>, params: %{}, path_info: ["sources", "4", "media", "21199", "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 => "http (truncated) 23:57:36.077 [info] {"source":"oban","duration":1202,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:00.090 [info] {"source":"oban","duration":273,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:58:06.079 [info] {"source":"oban","duration":1248,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:36.081 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:37.738 [info] GET /sources/6/media/11559/force_download 23:58:37.739 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=516.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:58:37.740 [debug] QUERY OK source="settings" db=0.4ms idle=517.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:58:37.740 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:58:37.741 [error] #PID<0.148294.0> running PinchflatWeb.Endpoint (connection #PID<0.148293.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/11559/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/6/media/11559/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148293.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/11559/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45694}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/11559", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148294.0>, params: %{}, path_info: ["sources", "6", "media", "11559", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/11559"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/11559/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTfhXRJIHiztzQABsbi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148293.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/11559/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45694}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/11559", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/11559/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148293.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/11559/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45694}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/11559", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148294.0>, params: %{}, path_info: ["sources", "6", "media", "11559", "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 => "http (truncated) 23:59:00.091 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:59:06.085 [info] {"source":"oban","duration":3165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:36.087 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:39.644 [info] GET /sources/9/media/16957/force_download 23:59:39.645 [debug] QUERY OK source="settings" db=0.3ms idle=422.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:59:39.646 [debug] QUERY OK source="settings" db=0.2ms idle=422.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:59:39.646 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:59:39.647 [error] #PID<0.148302.0> running PinchflatWeb.Endpoint (connection #PID<0.148301.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16957/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/9/media/16957/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148301.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16957/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40874}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16957", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148302.0>, params: %{}, path_info: ["sources", "9", "media", "16957", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16957"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16957/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTfk941ac4lIR4ABsdC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148301.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16957/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40874}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16957", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16957/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148301.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16957/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40874}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16957", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148302.0>, params: %{}, path_info: ["sources", "9", "media", "16957", "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 => "http (truncated) 00:00:00.092 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:00:06.089 [info] {"source":"oban","duration":1278,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:36.091 [info] {"source":"oban","duration":1434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:40.469 [info] GET /sources/4/media/21197/force_download 00:00:40.469 [debug] QUERY OK source="settings" db=0.1ms idle=1246.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:00:40.469 [debug] QUERY OK source="settings" db=0.1ms idle=1246.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:00:40.469 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:00:40.470 [error] #PID<0.148309.0> running PinchflatWeb.Endpoint (connection #PID<0.148308.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/21197/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/4/media/21197/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148308.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21197/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45240}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21197", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148309.0>, params: %{}, path_info: ["sources", "4", "media", "21197", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/21197"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/21197/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTfogefXKnpFm0ABsei"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148308.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21197/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45240}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21197", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/21197/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148308.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21197/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45240}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21197", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148309.0>, params: %{}, path_info: ["sources", "4", "media", "21197", "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 => "http (truncated) 00:01:00.093 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:01:06.092 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:36.095 [info] {"source":"oban","duration":1209,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:45.673 [info] GET /sources/8/media/17564/force_download 00:01:45.674 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=450.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:01:45.675 [debug] QUERY OK source="settings" db=0.5ms idle=451.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:01:45.675 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:01:45.677 [error] #PID<0.148317.0> running PinchflatWeb.Endpoint (connection #PID<0.148316.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/8/media/17564/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/8/media/17564/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148316.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/17564/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58622}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/17564", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148317.0>, params: %{}, path_info: ["sources", "8", "media", "17564", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/8/media/17564"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/8/media/17564/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTfsTYcKTQVWhAABsgC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148316.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/17564/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58622}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/17564", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/media/17564/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148316.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/17564/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58622}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/17564", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148317.0>, params: %{}, path_info: ["sources", "8", "media", "17564", "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 => "http (truncated) 00:02:00.094 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:02:06.097 [info] {"source":"oban","duration":976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:36.099 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:46.964 [info] GET /sources/4/media/21195/force_download 00:02:46.965 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1741.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:02:46.966 [debug] QUERY OK source="settings" db=0.6ms idle=1742.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:02:46.966 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:02:46.967 [error] #PID<0.148324.0> running PinchflatWeb.Endpoint (connection #PID<0.148323.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/21195/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/4/media/21195/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148323.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21195/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41916}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21195", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148324.0>, params: %{}, path_info: ["sources", "4", "media", "21195", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/21195"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/21195/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTfv3tUNg23KQQABshi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148323.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21195/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41916}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21195", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/21195/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148323.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21195/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41916}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21195", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148324.0>, params: %{}, path_info: ["sources", "4", "media", "21195", "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 => "http (truncated) 00:03:00.095 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:03:06.101 [info] {"source":"oban","duration":1377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:36.104 [info] {"source":"oban","duration":1488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:47.766 [info] GET /sources/6/media/11561/force_download 00:03:47.767 [debug] QUERY OK source="settings" db=0.8ms idle=914.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:03:47.768 [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 [] 00:03:47.768 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:03:47.769 [error] #PID<0.148332.0> running PinchflatWeb.Endpoint (connection #PID<0.148331.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/11561/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/6/media/11561/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148331.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/11561/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46600}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/11561", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148332.0>, params: %{}, path_info: ["sources", "6", "media", "11561", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/11561"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/11561/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTfzaNnDsUmIncABsjC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148331.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/11561/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46600}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/11561", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/11561/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148331.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/11561/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46600}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/11561", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148332.0>, params: %{}, path_info: ["sources", "6", "media", "11561", "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 => "http (truncated) 00:04:00.097 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:04:06.107 [info] {"source":"oban","duration":1205,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:36.109 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:48.470 [info] GET /sources/4/media/22008/force_download 00:04:48.471 [debug] QUERY OK source="settings" db=0.3ms idle=1247.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:04:48.472 [debug] QUERY OK source="settings" db=0.2ms idle=1248.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:04:48.472 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:04:48.473 [error] #PID<0.148339.0> running PinchflatWeb.Endpoint (connection #PID<0.148338.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/22008/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/4/media/22008/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148338.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22008/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45366}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22008", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148339.0>, params: %{}, path_info: ["sources", "4", "media", "22008", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/22008"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/22008/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTf28WpGBzH-nMABski"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148338.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22008/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45366}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22008", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/22008/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148338.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22008/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45366}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22008", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148339.0>, params: %{}, path_info: ["sources", "4", "media", "22008", "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 => "http (truncated) 00:05:00.098 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:05:06.110 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:36.113 [info] {"source":"oban","duration":1764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:52.209 [info] GET /sources/9/media/16568/force_download 00:05:52.210 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=986.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:05:52.211 [debug] QUERY OK source="settings" db=0.7ms idle=987.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:05:52.212 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:05:52.212 [error] #PID<0.148347.0> running PinchflatWeb.Endpoint (connection #PID<0.148346.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16568/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/9/media/16568/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148346.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16568/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46298}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16568", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148347.0>, params: %{}, path_info: ["sources", "9", "media", "16568", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16568"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16568/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTf6pzFRWGLwKMABsmC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148346.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16568/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46298}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16568", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16568/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148346.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16568/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46298}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16568", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148347.0>, params: %{}, path_info: ["sources", "9", "media", "16568", "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 => "http (truncated) 00:06:00.099 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:06:06.115 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:36.117 [info] {"source":"oban","duration":1434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:53.601 [info] GET /sources/9/media/16565/force_download 00:06:53.603 [debug] QUERY OK source="settings" db=0.5ms idle=1351.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:06:53.604 [debug] QUERY OK source="settings" db=0.4ms idle=380.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:06:53.604 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:06:53.605 [error] #PID<0.148354.0> running PinchflatWeb.Endpoint (connection #PID<0.148353.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16565/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/9/media/16565/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148353.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16565/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43194}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16565", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148354.0>, params: %{}, path_info: ["sources", "9", "media", "16565", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16565"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16565/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTf-OgTJQJSSZYABsni"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148353.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16565/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43194}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16565", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16565/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148353.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16565/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43194}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16565", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148354.0>, params: %{}, path_info: ["sources", "9", "media", "16565", "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 => "http (truncated) 00:07:00.100 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:07:06.119 [info] {"source":"oban","duration":889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:36.122 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:54.253 [info] GET /sources/6/media/24383/force_download 00:07:54.255 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1031.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:07:54.256 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1032.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:07:54.256 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:07:54.257 [error] #PID<0.148362.0> running PinchflatWeb.Endpoint (connection #PID<0.148361.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/24383/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/6/media/24383/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148361.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/24383/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57792}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/24383", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148362.0>, params: %{}, path_info: ["sources", "6", "media", "24383", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/24383"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/24383/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTgBwc2HNDxrZYABspC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148361.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/24383/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57792}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/24383", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/24383/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148361.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/24383/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57792}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/24383", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148362.0>, params: %{}, path_info: ["sources", "6", "media", "24383", "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 => "http (truncated) 00:08:00.101 [info] {"source":"oban","duration":343,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:08:06.124 [info] {"source":"oban","duration":1244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:36.126 [info] {"source":"oban","duration":1902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:59.434 [info] GET /sources/8/media/20392/force_download 00:08:59.434 [debug] QUERY OK source="settings" db=0.2ms idle=935.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:08:59.434 [debug] QUERY OK source="settings" db=0.1ms idle=210.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:08:59.435 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:08:59.435 [error] #PID<0.148372.0> running PinchflatWeb.Endpoint (connection #PID<0.148371.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/8/media/20392/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/8/media/20392/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148371.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/20392/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41852}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/20392", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148372.0>, params: %{}, path_info: ["sources", "8", "media", "20392", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/8/media/20392"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/8/media/20392/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTgFjRCAKZa_60ABsrC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148371.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/20392/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41852}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/20392", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/media/20392/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148371.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/20392/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41852}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/20392", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148372.0>, params: %{}, path_info: ["sources", "8", "media", "20392", "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 => "http (truncated) 00:09:00.102 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:09:06.129 [info] {"source":"oban","duration":1412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:36.134 [info] {"source":"oban","duration":1666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:00.103 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:10:01.974 [info] GET /sources/3/media/20480/force_download 00:10:01.975 [debug] QUERY OK source="settings" db=0.3ms idle=743.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:10:01.976 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=743.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:10:01.977 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:10:01.977 [error] #PID<0.148379.0> running PinchflatWeb.Endpoint (connection #PID<0.148378.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/20480/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/3/media/20480/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148378.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/20480/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 54512}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/20480", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148379.0>, params: %{}, path_info: ["sources", "3", "media", "20480", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/20480"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/20480/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTgJMP4JWlWRsYACAWj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148378.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/20480/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 54512}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/20480", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/20480/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148378.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/20480/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 54512}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/20480", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148379.0>, params: %{}, path_info: ["sources", "3", "media", "20480", "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 => "http (truncated) 00:10:06.136 [info] {"source":"oban","duration":1290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:36.139 [info] {"source":"oban","duration":1313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:00.104 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:11:03.459 [info] GET /sources/6/media/11558/force_download 00:11:03.459 [debug] QUERY OK source="settings" db=0.1ms idle=693.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:11:03.459 [debug] QUERY OK source="settings" db=0.0ms idle=226.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:11:03.459 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:11:03.460 [error] #PID<0.148387.0> running PinchflatWeb.Endpoint (connection #PID<0.148386.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/11558/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/6/media/11558/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148386.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/11558/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41102}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/11558", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148387.0>, params: %{}, path_info: ["sources", "6", "media", "11558", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/11558"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/11558/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTgMxS5jenvDDYADJrh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148386.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/11558/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41102}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/11558", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/11558/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148386.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/11558/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41102}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/11558", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148387.0>, params: %{}, path_info: ["sources", "6", "media", "11558", "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 => "http (truncated) 00:11:06.141 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:36.142 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:00.105 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:12:03.547 [info] GET /sources/6/media/24626/force_download 00:12:03.549 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=647.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:12:03.550 [debug] QUERY OK source="settings" db=0.5ms idle=316.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:12:03.550 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:12:03.551 [error] #PID<0.148394.0> running PinchflatWeb.Endpoint (connection #PID<0.148393.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/24626/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/6/media/24626/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148393.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/24626/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 33132}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/24626", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148394.0>, params: %{}, path_info: ["sources", "6", "media", "24626", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/24626"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/24626/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTgQRJCTk1Cw30ACAXD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148393.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/24626/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 33132}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/24626", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/24626/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148393.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/24626/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 33132}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/24626", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148394.0>, params: %{}, path_info: ["sources", "6", "media", "24626", "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 => "http (truncated) 00:12:06.144 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:36.146 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:00.106 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:13:06.148 [info] {"source":"oban","duration":1442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:09.080 [info] GET /sources/4/media/21196/force_download 00:13:09.082 [debug] QUERY OK source="settings" db=0.6ms idle=1847.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:13:09.082 [debug] QUERY OK source="settings" db=0.2ms idle=1848.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:13:09.082 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:13:09.083 [error] #PID<0.148402.0> running PinchflatWeb.Endpoint (connection #PID<0.148401.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/21196/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/4/media/21196/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148401.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21196/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57244}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21196", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148402.0>, params: %{}, path_info: ["sources", "4", "media", "21196", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/21196"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/21196/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTgUFRZm-plwKQADJuB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148401.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21196/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57244}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21196", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/21196/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148401.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21196/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57244}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21196", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148402.0>, params: %{}, path_info: ["sources", "4", "media", "21196", "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 => "http (truncated) 00:13:36.150 [info] {"source":"oban","duration":1408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:00.107 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:14:06.152 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:14.170 [info] GET /sources/4/media/21203/force_download 00:14:14.171 [debug] QUERY OK source="settings" db=0.7ms idle=987.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:14:14.172 [debug] QUERY OK source="settings" db=0.4ms idle=938.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:14:14.172 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:14:14.174 [error] #PID<0.148409.0> running PinchflatWeb.Endpoint (connection #PID<0.148408.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/21203/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/4/media/21203/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148408.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21203/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43514}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21203", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148409.0>, params: %{}, path_info: ["sources", "4", "media", "21203", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/21203"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/21203/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTgX3v-lfD6FEAADJvh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148408.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21203/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43514}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21203", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/21203/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148408.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21203/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43514}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21203", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148409.0>, params: %{}, path_info: ["sources", "4", "media", "21203", "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 => "http (truncated) 00:14:36.154 [info] {"source":"oban","duration":1098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:00.109 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:15:06.156 [info] {"source":"oban","duration":1200,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:16.976 [info] GET /sources/4/media/21205/force_download 00:15:16.977 [debug] QUERY OK source="settings" db=0.4ms idle=1743.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:15:16.978 [debug] QUERY OK source="settings" db=0.2ms idle=1744.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:15:16.978 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:15:16.979 [error] #PID<0.148418.0> running PinchflatWeb.Endpoint (connection #PID<0.148417.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/21205/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/4/media/21205/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148417.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21205/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 34386}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21205", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148418.0>, params: %{}, path_info: ["sources", "4", "media", "21205", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/21205"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/21205/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTgbhuKTmhtdU0ACAYD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148417.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21205/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 34386}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21205", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/21205/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148417.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21205/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 34386}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21205", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148418.0>, params: %{}, path_info: ["sources", "4", "media", "21205", "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 => "http (truncated) 00:15:36.159 [info] {"source":"oban","duration":2321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:00.110 [info] {"source":"oban","duration":334,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:16:06.162 [info] {"source":"oban","duration":2151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:19.667 [info] GET /sources/6/media/20203/force_download 00:16:19.668 [debug] QUERY OK source="settings" db=0.5ms idle=434.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:16:19.669 [debug] QUERY OK source="settings" db=1.2ms idle=435.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:16:19.670 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:16:19.671 [error] #PID<0.148425.0> running PinchflatWeb.Endpoint (connection #PID<0.148424.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/20203/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/6/media/20203/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148424.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/20203/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35574}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/20203", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148425.0>, params: %{}, path_info: ["sources", "6", "media", "20203", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/20203"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/20203/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTgfLQu2xAmndoACAZj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148424.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/20203/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35574}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/20203", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/20203/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148424.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/20203/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35574}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/20203", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148425.0>, params: %{}, path_info: ["sources", "6", "media", "20203", "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 => "http (truncated) 00:16:36.164 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:00.111 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:17:06.167 [info] {"source":"oban","duration":1350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:22.068 [info] GET /sources/9/media/16567/force_download 00:17:22.069 [debug] QUERY OK source="settings" db=0.3ms idle=835.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:17:22.071 [debug] QUERY OK source="settings" db=1.4ms idle=836.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:17:22.071 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:17:22.071 [error] #PID<0.148433.0> running PinchflatWeb.Endpoint (connection #PID<0.148432.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16567/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/9/media/16567/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148432.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16567/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41598}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16567", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148433.0>, params: %{}, path_info: ["sources", "9", "media", "16567", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16567"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16567/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTgizuf1DS238QACAbD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148432.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16567/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41598}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16567", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16567/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148432.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16567/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41598}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16567", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148433.0>, params: %{}, path_info: ["sources", "9", "media", "16567", "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 => "http (truncated) 00:17:36.169 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:00.113 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:18:06.171 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:27.188 [info] GET /sources/4/media/21206/force_download 00:18:27.190 [debug] QUERY OK source="settings" db=0.8ms idle=1956.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:18:27.191 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1957.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:18:27.191 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:18:27.192 [error] #PID<0.148442.0> running PinchflatWeb.Endpoint (connection #PID<0.148441.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/21206/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/4/media/21206/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148441.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21206/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60088}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21206", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148442.0>, params: %{}, path_info: ["sources", "4", "media", "21206", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/21206"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/21206/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTgmmURcUarXN4ACAdD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148441.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21206/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60088}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21206", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/21206/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148441.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21206/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60088}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21206", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148442.0>, params: %{}, path_info: ["sources", "4", "media", "21206", "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 => "http (truncated) 00:18:36.173 [info] {"source":"oban","duration":1424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:00.114 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:19:06.175 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:28.781 [info] GET /sources/9/media/16963/force_download 00:19:28.782 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1548.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:19:28.784 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=1549.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:19:28.784 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:19:28.786 [error] #PID<0.148450.0> running PinchflatWeb.Endpoint (connection #PID<0.148449.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16963/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/9/media/16963/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148449.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16963/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 36272}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16963", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148450.0>, params: %{}, path_info: ["sources", "9", "media", "16963", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16963"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16963/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTgqLxBd8p_pCwACAej"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148449.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16963/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 36272}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16963", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16963/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148449.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16963/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 36272}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16963", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148450.0>, params: %{}, path_info: ["sources", "9", "media", "16963", "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 => "http (truncated) 00:19:36.178 [info] {"source":"oban","duration":1832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:00.116 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:20:06.179 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:29.830 [info] GET /sources/4/media/21202/force_download 00:20:29.831 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=895.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:20:29.832 [debug] QUERY OK source="settings" db=0.3ms idle=595.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:20:29.832 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:20:29.833 [error] #PID<0.148457.0> running PinchflatWeb.Endpoint (connection #PID<0.148456.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/21202/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/4/media/21202/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148456.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21202/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44446}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21202", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148457.0>, params: %{}, path_info: ["sources", "4", "media", "21202", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/21202"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/21202/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTgtvMOEtCT6OYADJwh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148456.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21202/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44446}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21202", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/21202/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148456.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21202/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44446}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21202", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148457.0>, params: %{}, path_info: ["sources", "4", "media", "21202", "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 => "http (truncated) 00:20:36.181 [info] {"source":"oban","duration":1285,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:00.117 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:21:06.183 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:31.483 [info] GET /sources/8/media/17568/force_download 00:21:31.485 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=430.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:21:31.486 [debug] QUERY OK source="settings" db=0.3ms queue=0.5ms idle=249.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:21:31.486 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:21:31.488 [error] #PID<0.148465.0> running PinchflatWeb.Endpoint (connection #PID<0.148464.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/8/media/17568/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/8/media/17568/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148464.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/17568/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44606}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/17568", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148465.0>, params: %{}, path_info: ["sources", "8", "media", "17568", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/8/media/17568"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/8/media/17568/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTgxU3oNq-VOfIADJxB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148464.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/17568/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44606}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/17568", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/media/17568/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148464.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/17568/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44606}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/17568", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148465.0>, params: %{}, path_info: ["sources", "8", "media", "17568", "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 => "http (truncated) 00:21:36.186 [info] {"source":"oban","duration":1874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:00.118 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:22:06.188 [info] {"source":"oban","duration":1442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:33.771 [info] GET /sources/9/media/16962/force_download 00:22:33.772 [debug] QUERY OK source="settings" db=0.3ms idle=582.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:22:33.772 [debug] QUERY OK source="settings" db=0.2ms idle=534.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:22:33.773 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:22:33.774 [error] #PID<0.148472.0> running PinchflatWeb.Endpoint (connection #PID<0.148471.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16962/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/9/media/16962/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148471.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16962/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46662}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16962", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148472.0>, params: %{}, path_info: ["sources", "9", "media", "16962", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16962"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16962/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTg086HX2eSuUMADJxh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148471.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16962/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46662}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16962", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16962/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148471.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16962/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46662}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16962", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148472.0>, params: %{}, path_info: ["sources", "9", "media", "16962", "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 => "http (truncated) 00:22:36.191 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:00.120 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:23:06.193 [info] {"source":"oban","duration":1497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:36.195 [info] {"source":"oban","duration":1460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:39.617 [info] GET /sources/9/media/16570/force_download 00:23:39.617 [debug] QUERY OK source="settings" db=0.1ms idle=375.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:23:39.618 [debug] QUERY OK source="settings" db=0.1ms 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 [] 00:23:39.618 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:23:39.619 [error] #PID<0.148480.0> running PinchflatWeb.Endpoint (connection #PID<0.148479.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16570/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/9/media/16570/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148479.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16570/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 37948}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16570", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148480.0>, params: %{}, path_info: ["sources", "9", "media", "16570", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16570"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16570/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTg4yNEUfijomkACAjD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148479.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16570/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 37948}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16570", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16570/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148479.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16570/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 37948}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16570", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148480.0>, params: %{}, path_info: ["sources", "9", "media", "16570", "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 => "http (truncated) 00:24:00.121 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:24:06.198 [info] {"source":"oban","duration":1250,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:36.200 [info] {"source":"oban","duration":1494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:42.609 [info] GET /sources/7/media/19940/force_download 00:24:42.610 [debug] QUERY OK source="settings" db=0.4ms idle=1365.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:24:42.611 [debug] QUERY OK source="settings" db=0.5ms idle=1366.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:24:42.612 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:24:42.613 [error] #PID<0.148487.0> running PinchflatWeb.Endpoint (connection #PID<0.148486.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/19940/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/7/media/19940/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148486.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/19940/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43578}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/19940", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148487.0>, params: %{}, path_info: ["sources", "7", "media", "19940", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/19940"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/19940/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTg8c3mOWGYV9sACAkj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148486.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/19940/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43578}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/19940", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/19940/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148486.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/19940/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43578}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/19940", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148487.0>, params: %{}, path_info: ["sources", "7", "media", "19940", "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 => "http (truncated) 00:25:00.122 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:25:06.203 [info] {"source":"oban","duration":1488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:36.205 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:48.028 [info] GET /sources/9/media/16961/force_download 00:25:48.030 [debug] QUERY OK source="settings" db=0.1ms idle=785.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:25:48.030 [debug] QUERY OK source="settings" db=0.2ms idle=785.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:25:48.030 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:25:48.031 [error] #PID<0.148495.0> running PinchflatWeb.Endpoint (connection #PID<0.148494.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16961/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/9/media/16961/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148494.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16961/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46208}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16961", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148495.0>, params: %{}, path_info: ["sources", "9", "media", "16961", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16961"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16961/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJThAQks-N0ykpoACAlj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148494.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16961/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46208}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16961", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16961/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148494.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16961/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46208}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16961", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148495.0>, params: %{}, path_info: ["sources", "9", "media", "16961", "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 => "http (truncated) 00:26:00.123 [info] {"source":"oban","duration":317,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:26:06.208 [info] {"source":"oban","duration":1215,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:36.210 [info] {"source":"oban","duration":1345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:52.991 [info] GET /sources/7/media/25320/force_download 00:26:52.993 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1747.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:26:52.993 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1748.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:26:52.994 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:26:52.995 [error] #PID<0.148502.0> running PinchflatWeb.Endpoint (connection #PID<0.148501.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/25320/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/7/media/25320/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148501.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/25320/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 37608}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/25320", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148502.0>, params: %{}, path_info: ["sources", "7", "media", "25320", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/25320"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/25320/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJThEClIy3dijvoADJyh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148501.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/25320/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 37608}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/25320", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/25320/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148501.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/25320/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 37608}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/25320", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148502.0>, params: %{}, path_info: ["sources", "7", "media", "25320", "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 => "http (truncated) 00:27:00.124 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:27:06.212 [info] {"source":"oban","duration":941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:36.214 [info] {"source":"oban","duration":1434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:58.632 [info] GET /sources/9/media/16569/force_download 00:27:58.633 [debug] QUERY OK source="settings" db=0.1ms idle=1387.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:27:58.633 [debug] QUERY OK source="settings" db=0.2ms idle=1388.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:27:58.633 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:27:58.633 [error] #PID<0.148512.0> running PinchflatWeb.Endpoint (connection #PID<0.148511.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16569/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/9/media/16569/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148511.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16569/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60794}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16569", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148512.0>, params: %{}, path_info: ["sources", "9", "media", "16569", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16569"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16569/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJThH3HGEzK60AoACAoD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148511.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16569/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60794}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16569", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16569/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148511.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16569/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60794}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16569", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148512.0>, params: %{}, path_info: ["sources", "9", "media", "16569", "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 => "http (truncated) 00:28:00.125 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:28:06.216 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:36.218 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:00.126 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:29:04.402 [info] GET /sources/6/media/25116/force_download 00:29:04.403 [debug] QUERY OK source="settings" db=0.1ms idle=1154.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:29:04.403 [debug] QUERY OK source="settings" db=0.1ms idle=1154.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:29:04.403 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:29:04.403 [error] #PID<0.148520.0> running PinchflatWeb.Endpoint (connection #PID<0.148519.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/25116/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/6/media/25116/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148519.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/25116/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35476}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/25116", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148520.0>, params: %{}, path_info: ["sources", "6", "media", "25116", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/25116"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/25116/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJThLsH6o-8uIMEACApj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148519.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/25116/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35476}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/25116", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/25116/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148519.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/25116/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35476}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/25116", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148520.0>, params: %{}, path_info: ["sources", "6", "media", "25116", "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 => "http (truncated) 00:29:06.219 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:36.221 [info] {"source":"oban","duration":1377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:00.127 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:30:06.224 [info] {"source":"oban","duration":2199,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:08.253 [info] GET /sources/8/media/24100/force_download 00:30:08.254 [debug] QUERY OK source="settings" db=0.3ms idle=1006.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:30:08.255 [debug] QUERY OK source="settings" db=0.2ms idle=1006.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:30:08.255 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:30:08.256 [error] #PID<0.148527.0> running PinchflatWeb.Endpoint (connection #PID<0.148526.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/8/media/24100/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/8/media/24100/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148526.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/24100/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60060}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/24100", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148527.0>, params: %{}, path_info: ["sources", "8", "media", "24100", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/8/media/24100"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/8/media/24100/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJThPZ_Ms5XYWjYABssC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148526.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/24100/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60060}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/24100", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/media/24100/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148526.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/24100/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60060}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/24100", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148527.0>, params: %{}, path_info: ["sources", "8", "media", "24100", "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 => "http (truncated) 00:30:36.226 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:00.128 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:31:06.227 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:09.893 [info] GET /sources/8/media/17561/force_download 00:31:09.894 [debug] QUERY OK source="settings" db=0.7ms idle=644.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:31:09.895 [debug] QUERY OK source="settings" db=0.3ms idle=645.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:31:09.895 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:31:09.896 [error] #PID<0.148535.0> running PinchflatWeb.Endpoint (connection #PID<0.148534.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/8/media/17561/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/8/media/17561/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148534.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/17561/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 36044}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/17561", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148535.0>, params: %{}, path_info: ["sources", "8", "media", "17561", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/8/media/17561"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/8/media/17561/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJThS_nJeDdNfTcACAsD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148534.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/17561/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 36044}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/17561", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/media/17561/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148534.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/17561/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 36044}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/17561", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148535.0>, params: %{}, path_info: ["sources", "8", "media", "17561", "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 => "http (truncated) 00:31:36.230 [info] {"source":"oban","duration":1451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:54.397 [info] GET /sources 00:31:54.397 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 00:31:54.397 [debug] QUERY OK source="settings" db=0.3ms idle=1143.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:31:54.398 [debug] QUERY OK source="settings" db=0.2ms idle=1143.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:31:54.399 [debug] QUERY OK source="settings" db=0.3ms idle=1144.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:31:54.400 [debug] QUERY OK source="settings" db=0.1ms queue=0.2ms idle=1014.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:31:54.400 [debug] QUERY OK source="settings" db=0.3ms idle=13.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:31:54.407 [debug] QUERY OK source="sources" db=6.0ms idle=3.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)) [] 00:31:54.414 [debug] QUERY OK source="sources" db=6.8ms queue=0.1ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 00:31:54.419 [info] Sent 200 in 21ms 00:31:54.898 [info] GET /settings 00:31:54.898 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 00:31:54.899 [debug] QUERY OK source="settings" db=0.3ms idle=499.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:31:54.900 [debug] QUERY OK source="settings" db=0.4ms idle=499.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:31:54.901 [debug] QUERY OK source="settings" db=0.5ms idle=499.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:31:54.902 [debug] QUERY OK source="settings" db=0.2ms idle=494.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:31:54.905 [info] Sent 200 in 7ms 00:32:00.129 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:32:06.232 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:14.127 [info] GET /sources/8/media/17570/force_download 00:32:14.128 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1874.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:32:14.129 [debug] QUERY OK source="settings" db=0.2ms idle=1716.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:32:14.129 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:32:14.130 [error] #PID<0.148546.0> running PinchflatWeb.Endpoint (connection #PID<0.148545.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/8/media/17570/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/8/media/17570/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148545.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/17570/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45496}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/17570", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148546.0>, params: %{}, path_info: ["sources", "8", "media", "17570", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/8/media/17570"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/8/media/17570/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJThWu56Itm130YABsti"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148545.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/17570/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45496}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/17570", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/media/17570/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148545.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/17570/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45496}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/17570", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148546.0>, params: %{}, path_info: ["sources", "8", "media", "17570", "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 => "http (truncated) 00:32:36.234 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:00.130 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:33:06.236 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:14.958 [info] GET /sources/9/media/16964/force_download 00:33:14.959 [debug] QUERY OK source="settings" db=0.4ms idle=1703.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:33:14.960 [debug] QUERY OK source="settings" db=0.6ms idle=1704.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:33:14.960 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:33:14.961 [error] #PID<0.148555.0> running PinchflatWeb.Endpoint (connection #PID<0.148554.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16964/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/9/media/16964/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16964/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42330}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16964", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148555.0>, params: %{}, path_info: ["sources", "9", "media", "16964", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16964"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16964/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJThaRg-b1lMEe0ACAwD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16964/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42330}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16964", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16964/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16964/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42330}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16964", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148555.0>, params: %{}, path_info: ["sources", "9", "media", "16964", "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 => "http (truncated) 00:33:35.740 [info] GET /media_profiles 00:33:35.741 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 00:33:35.742 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1486.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 00:33:35.742 [debug] QUERY OK source="settings" db=0.2ms idle=1200.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:33:35.743 [debug] QUERY OK source="settings" db=0.3ms idle=487.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:33:35.745 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=489.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:33:35.747 [info] Sent 200 in 6ms 00:33:35.841 [info] GET /app_info 00:33:35.842 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 00:33:35.842 [debug] QUERY OK source="settings" db=0.1ms idle=298.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:33:35.843 [debug] QUERY OK source="settings" db=0.2ms idle=100.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:33:35.844 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=100.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:33:35.845 [debug] QUERY OK source="settings" db=0.4ms idle=101.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:33:35.845 [debug] QUERY OK source="settings" db=0.1ms idle=100.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:33:35.846 [info] Sent 200 in 4ms 00:33:36.239 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:00.132 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:34:06.242 [info] {"source":"oban","duration":1498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:15.672 [info] GET /sources/9/media/16566/force_download 00:34:15.673 [debug] QUERY OK source="settings" db=0.7ms idle=417.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:34:15.674 [debug] QUERY OK source="settings" db=0.4ms idle=418.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:34:15.674 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:34:15.675 [error] #PID<0.148565.0> running PinchflatWeb.Endpoint (connection #PID<0.148564.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/media/16566/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/9/media/16566/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148564.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16566/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 52314}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16566", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148565.0>, params: %{}, path_info: ["sources", "9", "media", "16566", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9/media/16566"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/media/16566/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJThdzsX-1pwBmQACAyD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148564.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16566/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 52314}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16566", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/16566/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148564.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/16566/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 52314}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9/media/16566", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148565.0>, params: %{}, path_info: ["sources", "9", "media", "16566", "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 => "http (truncated) 00:34:36.245 [info] {"source":"oban","duration":2006,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:42.018 [info] GET /sources/8 00:34:42.018 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "8"} Pipelines: [:browser] 00:34:42.019 [debug] QUERY OK source="sources" db=0.3ms idle=763.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 00:34:42.019 [debug] QUERY OK source="media_profiles" db=0.3ms idle=763.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:34:42.020 [debug] QUERY OK source="tasks" db=0.3ms idle=764.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 (?,?,?,?)) [8, "executing", "available", "scheduled", "retryable"] 00:34:42.021 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=764.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [409] 00:34:42.022 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms idle=338.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:34:42.023 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms 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 [] 00:34:42.024 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 00:34:42.027 [debug] QUERY OK source="sources" db=0.2ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 00:34:42.028 [debug] QUERY OK source="media_items" db=0.6ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [8] 00:34:42.029 [debug] QUERY OK source="media_items" db=0.7ms idle=5.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 00:34:42.030 [debug] QUERY OK source="sources" db=0.4ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 00:34:42.031 [debug] QUERY OK source="media_items" db=0.9ms idle=6.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [8] 00:34:42.033 [debug] QUERY OK source="media_items" db=1.1ms idle=4.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 ? [8, 10, 0] 00:34:42.036 [debug] QUERY OK source="sources" db=1.9ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 00:34:42.036 [debug] QUERY OK source="media_items" db=0.3ms idle=7.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"))))) [8] 00:34:42.039 [debug] QUERY OK source="media_items" db=1.9ms idle=6.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 00:34:42.040 [info] Sent 200 in 22ms 00:34:42.119 [info] GET /sources/7 00:34:42.120 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 00:34:42.121 [debug] QUERY OK source="sources" db=0.7ms idle=88.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 00:34:42.123 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=89.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:34:42.126 [debug] QUERY OK source="tasks" db=1.2ms queue=0.7ms idle=87.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 (?,?,?,?)) [7, "executing", "available", "scheduled", "retryable"] 00:34:42.127 [debug] QUERY OK source="oban_jobs" db=1.1ms idle=89.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [411] 00:34:42.129 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=89.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:34:42.131 [debug] QUERY OK source="settings" db=0.8ms queue=0.6ms 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 [] 00:34:42.134 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:34:42.142 [debug] QUERY OK source="sources" db=0.5ms idle=15.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 00:34:42.151 [debug] QUERY OK source="media_items" db=7.7ms idle=15.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")))) [7] 00:34:42.157 [debug] QUERY OK source="media_items" db=6.0ms idle=21.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 00:34:42.158 [debug] QUERY OK source="sources" db=0.4ms idle=26.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 00:34:42.159 [debug] QUERY OK source="media_items" db=0.4ms idle=24.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 00:34:42.160 [debug] QUERY OK source="media_items" db=1.4ms idle=17.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 00:34:42.161 [debug] QUERY OK source="sources" db=0.3ms idle=10.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 00:34:42.163 [debug] QUERY OK source="media_items" db=1.1ms queue=0.3ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [7] 00:34:42.166 [debug] QUERY OK source="media_items" db=2.6ms idle=5.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 00:34:42.168 [info] Sent 200 in 48ms 00:34:42.621 [info] GET /sources/4 00:34:42.622 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "4"} Pipelines: [:browser] 00:34:42.623 [debug] QUERY OK source="sources" db=0.5ms idle=463.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 00:34:42.624 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.3ms idle=462.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" = ?) [2] 00:34:42.625 [debug] QUERY OK source="tasks" db=0.4ms idle=462.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [4, "executing", "available", "scheduled", "retryable"] 00:34:42.625 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=461.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [403] 00:34:42.627 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=459.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:34:42.627 [debug] QUERY OK source="settings" db=0.4ms 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 [] 00:34:42.629 [debug] QUERY OK source="settings" db=0.4ms 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 [] 00:34:42.632 [debug] QUERY OK source="sources" db=0.4ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 00:34:42.636 [debug] QUERY OK source="media_items" db=3.3ms idle=7.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [4] 00:34:42.642 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=10.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 00:34:42.644 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms idle=16.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 00:34:42.646 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=15.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [4] 00:34:42.648 [debug] QUERY OK source="media_items" db=2.1ms idle=13.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 00:34:42.652 [debug] QUERY OK source="sources" db=1.8ms idle=14.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 00:34:42.657 [debug] QUERY OK source="media_items" db=3.5ms idle=11.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [4] 00:34:42.661 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=12.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 00:34:42.664 [info] Sent 200 in 42ms 00:34:43.122 [info] GET /sources/3 00:34:43.122 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 00:34:43.124 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=474.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 00:34:43.125 [debug] QUERY OK source="media_profiles" db=0.6ms idle=471.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] 00:34:43.126 [debug] QUERY OK source="tasks" db=0.4ms idle=468.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 00:34:43.127 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms idle=465.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" = ?) [405] 00:34:43.128 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=441.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:34:43.129 [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 [] 00:34:43.131 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:34:43.135 [debug] QUERY OK source="sources" db=0.7ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 00:34:43.137 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 00:34:43.139 [debug] QUERY OK source="media_items" db=1.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 ? [3, 10, 0] 00:34:43.142 [debug] QUERY OK source="sources" db=0.3ms idle=12.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 00:34:43.143 [debug] QUERY OK source="media_items" db=0.2ms idle=11.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 00:34:43.144 [debug] QUERY OK source="media_items" db=0.7ms idle=8.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 00:34:43.148 [debug] QUERY OK source="sources" db=2.0ms idle=8.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 00:34:43.150 [debug] QUERY OK source="media_items" db=1.0ms idle=9.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [3] 00:34:43.152 [debug] QUERY OK source="media_items" db=1.5ms idle=8.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 00:34:43.156 [info] Sent 200 in 33ms 00:34:48.636 [info] GET /sources/6 00:34:48.636 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 00:34:48.637 [debug] QUERY OK source="sources" db=0.6ms idle=937.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 00:34:48.639 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.5ms idle=382.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:34:48.640 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=384.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 00:34:48.640 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=384.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [414] 00:34:48.640 [debug] QUERY OK source="settings" db=0.1ms idle=385.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:34:48.641 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:34:48.641 [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 [] 00:34:48.642 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 00:34:48.646 [debug] QUERY OK source="media_items" db=3.0ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 00:34:48.649 [debug] QUERY OK source="media_items" db=3.3ms idle=5.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 00:34:48.650 [debug] QUERY OK source="sources" db=0.1ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 00:34:48.650 [debug] QUERY OK source="media_items" db=0.4ms idle=8.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 00:34:48.652 [debug] QUERY OK source="media_items" db=1.6ms idle=8.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 00:34:48.653 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [6] 00:34:48.657 [debug] QUERY OK source="media_items" db=3.3ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 00:34:48.661 [debug] QUERY OK source="media_items" db=3.6ms idle=7.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 ? [6, 10, 0] 00:34:48.662 [info] Sent 200 in 26ms 00:35:00.135 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:35:06.246 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:15.793 [info] GET /sources/4/media/22006/force_download 00:35:15.794 [debug] QUERY OK source="settings" db=0.5ms idle=1538.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:35:15.795 [debug] QUERY OK source="settings" db=0.4ms idle=1037.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:35:15.795 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:35:15.795 [error] #PID<0.148580.0> running PinchflatWeb.Endpoint (connection #PID<0.148579.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/22006/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/4/media/22006/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148579.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22006/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 51890}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22006", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148580.0>, params: %{}, path_info: ["sources", "4", "media", "22006", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/22006"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/22006/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJThhTqUjonXmlgACA5j"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148579.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22006/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 51890}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22006", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/22006/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148579.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22006/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 51890}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22006", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148580.0>, params: %{}, path_info: ["sources", "4", "media", "22006", "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 => "http (truncated) 00:35:36.248 [info] {"source":"oban","duration":960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:53.977 [info] GET /sources/3/media/20480 00:35:53.977 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "20480", "source_id" => "3"} Pipelines: [:browser] 00:35:53.979 [debug] QUERY OK source="media_items" db=1.0ms idle=1137.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" = ?) [20480] 00:35:53.980 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=722.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [20480] 00:35:53.981 [debug] QUERY OK source="sources" db=0.9ms idle=722.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 00:35:53.983 [debug] QUERY OK source="settings" db=0.7ms idle=725.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:35:53.983 [debug] QUERY OK source="settings" db=0.3ms idle=140.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:35:53.984 [debug] QUERY OK source="settings" db=0.1ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:35:53.985 [debug] QUERY OK source="media_profiles" db=0.6ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:35:53.986 [info] Sent 200 in 9ms 00:35:54.054 [info] GET /sources/7/media/25813 00:35:54.055 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "25813", "source_id" => "7"} Pipelines: [:browser] 00:35:54.055 [debug] QUERY OK source="media_items" db=0.2ms idle=74.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [25813] 00:35:54.056 [debug] QUERY OK source="tasks" db=0.2ms idle=73.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [25813] 00:35:54.056 [debug] QUERY OK source="sources" db=0.3ms idle=72.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 00:35:54.057 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=72.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [410] 00:35:54.058 [debug] QUERY OK source="settings" db=0.5ms idle=72.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:35:54.058 [debug] QUERY OK source="settings" db=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 [] 00:35:54.059 [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 [] 00:35:54.061 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:35:54.063 [info] Sent 200 in 8ms 00:35:54.556 [info] GET /sources/4/media/21206 00:35:54.556 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21206", "source_id" => "4"} Pipelines: [:browser] 00:35:54.558 [debug] QUERY OK source="media_items" db=0.4ms idle=500.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" = ?) [21206] 00:35:54.560 [debug] QUERY OK source="tasks" db=1.5ms queue=0.2ms idle=500.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [21206] 00:35:54.561 [debug] QUERY OK source="sources" db=2.3ms queue=0.1ms idle=500.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 00:35:54.563 [debug] QUERY OK source="oban_jobs" db=1.0ms idle=502.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" = ?) [297] 00:35:54.566 [debug] QUERY OK source="settings" db=1.0ms idle=504.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:35:54.567 [debug] QUERY OK source="settings" db=0.5ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:35:54.569 [debug] QUERY OK source="settings" db=0.5ms 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 [] 00:35:54.571 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 00:35:54.575 [info] Sent 200 in 18ms 00:35:55.057 [info] GET /sources/7/media/25320 00:35:55.057 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "25320", "source_id" => "7"} Pipelines: [:browser] 00:35:55.058 [debug] QUERY OK source="media_items" db=0.2ms idle=491.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" = ?) [25320] 00:35:55.059 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=491.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [25320] 00:35:55.059 [debug] QUERY OK source="sources" db=0.5ms idle=489.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 00:35:55.060 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=488.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [386] 00:35:55.063 [debug] QUERY OK source="settings" db=2.5ms idle=214.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:35:55.063 [debug] QUERY OK source="settings" db=0.4ms 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 [] 00:35:55.064 [debug] QUERY OK source="settings" db=0.5ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:35:55.068 [debug] QUERY OK source="media_profiles" db=3.3ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:35:55.071 [info] Sent 200 in 14ms 00:36:00.136 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:36:06.250 [info] {"source":"oban","duration":1424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:17.790 [info] GET /sources/6/media/24871/force_download 00:36:17.791 [debug] QUERY OK source="settings" db=0.6ms idle=1533.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:36:17.792 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1534.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:36:17.792 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:36:17.793 [error] #PID<0.148604.0> running PinchflatWeb.Endpoint (connection #PID<0.148603.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/24871/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/6/media/24871/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148603.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/24871/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 55204}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/24871", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148604.0>, params: %{}, path_info: ["sources", "6", "media", "24871", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/24871"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/24871/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJThk6njNKQwRwEACA-D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148603.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/24871/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 55204}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/24871", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/24871/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148603.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/24871/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 55204}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/24871", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148604.0>, params: %{}, path_info: ["sources", "6", "media", "24871", "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 => "http (truncated) 00:36:34.543 [info] GET /sources/6/media/25854 00:36:34.543 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "25854", "source_id" => "6"} Pipelines: [:browser] 00:36:34.544 [debug] QUERY OK source="media_items" db=0.2ms idle=1286.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [25854] 00:36:34.544 [debug] QUERY OK source="tasks" db=0.1ms idle=1287.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [25854] 00:36:34.545 [debug] QUERY OK source="sources" db=0.2ms idle=1287.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 00:36:34.545 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=1287.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [413] 00:36:34.546 [debug] QUERY OK source="settings" db=0.2ms idle=613.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:36:34.546 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:36:34.547 [debug] QUERY OK source="settings" db=0.5ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:36:34.548 [debug] QUERY OK source="media_profiles" db=0.6ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:36:34.550 [info] Sent 200 in 7ms 00:36:34.622 [info] GET /sources/4/media/21198 00:36:34.622 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21198", "source_id" => "4"} Pipelines: [:browser] 00:36:34.623 [debug] QUERY OK source="media_items" db=0.2ms idle=77.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" = ?) [21198] 00:36:34.624 [debug] QUERY OK source="tasks" db=0.3ms idle=77.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [21198] 00:36:34.624 [debug] QUERY OK source="sources" db=0.4ms idle=77.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 00:36:34.624 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=76.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [289] 00:36:34.625 [debug] QUERY OK source="settings" db=0.1ms idle=76.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:36:34.625 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:36:34.625 [debug] QUERY OK source="settings" db=0.2ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:36:34.627 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 00:36:34.629 [info] Sent 200 in 6ms 00:36:35.125 [info] GET /sources/4/media/21197 00:36:35.125 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "21197", "source_id" => "4"} Pipelines: [:browser] 00:36:35.127 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=501.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" = ?) [21197] 00:36:35.129 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=503.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [21197] 00:36:35.130 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=502.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 00:36:35.131 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=503.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [288] 00:36:35.132 [debug] QUERY OK source="settings" db=0.1ms idle=197.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:36:35.132 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:36:35.132 [debug] QUERY OK source="settings" db=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:36:35.133 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 00:36:35.134 [info] Sent 200 in 9ms 00:36:35.625 [info] GET /sources/8/media/25812 00:36:35.626 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "25812", "source_id" => "8"} Pipelines: [:browser] 00:36:35.626 [debug] QUERY OK source="media_items" db=0.2ms idle=494.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [25812] 00:36:35.627 [debug] QUERY OK source="tasks" db=0.2ms idle=494.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [25812] 00:36:35.627 [debug] QUERY OK source="sources" db=0.5ms idle=494.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 00:36:35.628 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=495.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [408] 00:36:35.628 [debug] QUERY OK source="settings" db=0.1ms idle=495.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:36:35.628 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:36:35.629 [debug] QUERY OK source="settings" db=0.3ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:36:35.631 [debug] QUERY OK source="media_profiles" db=1.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:36:35.635 [info] Sent 200 in 9ms 00:36:36.136 [info] GET /sources/3/media/18943 00:36:36.137 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "18943", "source_id" => "3"} Pipelines: [:browser] 00:36:36.138 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=508.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" = ?) [18943] 00:36:36.140 [debug] QUERY OK source="tasks" db=0.8ms queue=0.3ms idle=510.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [18943] 00:36:36.141 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=509.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 00:36:36.142 [debug] QUERY OK source="settings" db=0.3ms idle=509.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:36:36.143 [debug] QUERY OK source="settings" db=0.4ms idle=205.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:36:36.144 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:36:36.146 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:36:36.150 [info] Sent 200 in 13ms 00:36:36.252 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:00.137 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:37:06.254 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:23.451 [info] GET /sources/7/media/19723/force_download 00:37:23.451 [debug] QUERY OK source="settings" db=0.1ms idle=419.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:37:23.451 [debug] QUERY OK source="settings" db=0.1ms idle=184.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:37:23.452 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:37:23.452 [error] #PID<0.148638.0> running PinchflatWeb.Endpoint (connection #PID<0.148637.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/19723/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/7/media/19723/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148637.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/19723/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 51452}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/19723", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148638.0>, params: %{}, path_info: ["sources", "7", "media", "19723", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/19723"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/19723/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJThovOXipT9UT0ABs6C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148637.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/19723/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 51452}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/19723", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/19723/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148637.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/19723/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 51452}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/19723", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148638.0>, params: %{}, path_info: ["sources", "7", "media", "19723", "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 => "http (truncated) 00:37:36.255 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:00.138 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:38:06.257 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:26.445 [info] GET /sources/6/media/11560/force_download 00:38:26.445 [debug] QUERY OK source="settings" db=0.2ms idle=1178.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:38:26.446 [debug] QUERY OK source="settings" db=0.1ms idle=1178.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:38:26.446 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:38:26.446 [error] #PID<0.148647.0> running PinchflatWeb.Endpoint (connection #PID<0.148646.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/11560/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/6/media/11560/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148646.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/11560/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39476}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/11560", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148647.0>, params: %{}, path_info: ["sources", "6", "media", "11560", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/11560"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/11560/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJThsZ5UK3og2-UABs7i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148646.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/11560/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39476}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/11560", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/11560/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148646.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/11560/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39476}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/11560", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148647.0>, params: %{}, path_info: ["sources", "6", "media", "11560", "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 => "http (truncated) 00:38:36.259 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:49.719 [info] GET /sources/6/media/25116 00:38:49.719 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "25116", "source_id" => "6"} Pipelines: [:browser] 00:38:49.720 [debug] QUERY OK source="media_items" db=0.4ms idle=1452.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [25116] 00:38:49.721 [debug] QUERY OK source="tasks" db=0.3ms idle=512.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" [25116] 00:38:49.722 [debug] QUERY OK source="sources" db=0.6ms idle=454.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 00:38:49.723 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=455.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [376] 00:38:49.724 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=456.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:38:49.725 [debug] QUERY OK source="settings" db=0.5ms 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 [] 00:38:49.727 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:38:49.729 [debug] QUERY OK source="media_profiles" db=0.6ms idle=6.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:38:49.735 [info] Sent 200 in 15ms 00:39:00.139 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:39:06.261 [info] {"source":"oban","duration":1759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:29.451 [info] GET /sources/4/media/22000/force_download 00:39:29.452 [debug] QUERY OK source="settings" db=0.3ms 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 [] 00:39:29.452 [debug] QUERY OK source="settings" db=0.3ms 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 [] 00:39:29.452 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:39:29.453 [error] #PID<0.148661.0> running PinchflatWeb.Endpoint (connection #PID<0.148660.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/22000/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/4/media/22000/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148660.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22000/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60892}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22000", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148661.0>, params: %{}, path_info: ["sources", "4", "media", "22000", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/22000"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/22000/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJThwEnMoi5lFY0ABs9i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148660.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22000/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60892}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22000", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/22000/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148660.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/22000/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60892}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/22000", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148661.0>, params: %{}, path_info: ["sources", "4", "media", "22000", "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 => "http (truncated) 00:39:36.264 [info] {"source":"oban","duration":1470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:00.141 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:40:06.265 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:34.415 [info] GET /sources/3/media/17444/force_download 00:40:34.416 [debug] QUERY OK source="settings" db=0.3ms idle=1147.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:40:34.417 [debug] QUERY OK source="settings" db=0.5ms idle=1148.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:40:34.417 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:40:34.417 [error] #PID<0.148670.0> running PinchflatWeb.Endpoint (connection #PID<0.148669.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/17444/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/3/media/17444/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148669.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/17444/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40702}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/17444", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148670.0>, params: %{}, path_info: ["sources", "3", "media", "17444", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/17444"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/17444/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJThz2n2SDHEuZ0ABs_i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148669.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/17444/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40702}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/17444", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/17444/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148669.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/17444/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40702}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/17444", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148670.0>, params: %{}, path_info: ["sources", "3", "media", "17444", "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 => "http (truncated) 00:40:36.267 [info] {"source":"oban","duration":1334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:00.142 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:41:06.270 [info] {"source":"oban","duration":1926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:35.569 [info] GET /sources/4/media/21999/force_download 00:41:35.572 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=297.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:41:35.573 [debug] QUERY OK source="settings" db=0.6ms idle=299.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:41:35.573 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:41:35.574 [error] #PID<0.148678.0> running PinchflatWeb.Endpoint (connection #PID<0.148677.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/21999/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/4/media/21999/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21999/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 37166}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21999", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148678.0>, params: %{}, path_info: ["sources", "4", "media", "21999", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/21999"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/21999/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTh3ab8wMj3oUoABtBC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21999/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 37166}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21999", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/21999/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/21999/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 37166}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/21999", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148678.0>, params: %{}, path_info: ["sources", "4", "media", "21999", "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 => "http (truncated) 00:41:36.272 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:00.143 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:42:06.276 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:36.278 [info] {"source":"oban","duration":1462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:39.470 [info] GET /sources/5/media/2000/edit 00:42:39.471 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2000", "source_id" => "5"} Pipelines: [:browser] 00:42:39.472 [debug] QUERY OK source="media_items" db=1.0ms idle=1198.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2000] 00:42:39.473 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1199.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:42:39.474 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=793.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:42:39.475 [debug] QUERY OK source="settings" db=0.2ms idle=202.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:42:39.478 [info] Sent 200 in 7ms 00:43:00.145 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:43:06.280 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:36.283 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:44.782 [info] GET /sources/4/media/2411/edit 00:43:44.782 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2411", "source_id" => "4"} Pipelines: [:browser] 00:43:44.783 [debug] QUERY OK source="media_items" db=0.5ms idle=1510.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2411] 00:43:44.785 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1511.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:43:44.785 [debug] QUERY OK source="settings" db=0.2ms idle=950.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:43:44.787 [debug] QUERY OK source="settings" db=0.3ms idle=513.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:43:44.789 [info] Sent 200 in 6ms 00:44:00.146 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:44:06.285 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:36.287 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:39.282 [info] GET /sources/7/media/6060/edit 00:44:39.282 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6060", "source_id" => "7"} Pipelines: [:browser] 00:44:39.283 [debug] QUERY OK source="media_items" db=0.4ms idle=1009.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6060] 00:44:39.284 [debug] QUERY OK source="settings" db=0.5ms idle=1010.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:44:39.285 [debug] QUERY OK source="settings" db=0.4ms idle=1011.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:44:39.287 [debug] QUERY OK source="settings" db=0.4ms idle=1013.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:44:39.289 [info] Sent 200 in 7ms 00:45:00.147 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:45:06.289 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:28.510 [info] GET /sources/5/media/2002/edit 00:45:28.511 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2002", "source_id" => "5"} Pipelines: [:browser] 00:45:28.512 [debug] QUERY OK source="media_items" db=0.7ms idle=1238.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2002] 00:45:28.514 [debug] QUERY OK source="settings" db=0.8ms idle=1239.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:45:28.514 [debug] QUERY OK source="settings" db=0.2ms idle=1241.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:45:28.516 [debug] QUERY OK source="settings" db=0.4ms queue=0.5ms idle=461.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:45:28.517 [info] Sent 200 in 6ms 00:45:36.291 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:00.149 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:46:06.293 [info] {"source":"oban","duration":1519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:14.961 [info] GET /sources/5/media/1995/edit 00:46:14.961 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1995", "source_id" => "5"} Pipelines: [:browser] 00:46:14.963 [debug] QUERY OK source="media_items" db=1.2ms idle=805.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1995] 00:46:14.968 [debug] QUERY OK source="settings" db=1.1ms queue=3.0ms idle=687.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:46:14.970 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=693.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:46:14.976 [debug] QUERY OK source="settings" db=1.1ms queue=3.1ms idle=695.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:46:14.979 [info] Sent 200 in 18ms 00:46:36.296 [info] {"source":"oban","duration":1502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:56.707 [info] GET /sources/7/media/6055/edit 00:46:56.707 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6055", "source_id" => "7"} Pipelines: [:browser] 00:46:56.708 [debug] QUERY OK source="media_items" db=0.5ms idle=464.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" = ?) [6055] 00:46:56.709 [debug] QUERY OK source="settings" db=0.3ms idle=433.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:46:56.711 [debug] QUERY OK source="settings" db=0.4ms queue=0.6ms idle=433.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:46:56.713 [debug] QUERY OK source="settings" db=1.5ms idle=435.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:46:56.717 [info] Sent 200 in 10ms 00:47:00.150 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:47:06.299 [info] {"source":"oban","duration":1421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:33.205 [info] GET /sources/7/media/6042/edit 00:47:33.205 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6042", "source_id" => "7"} Pipelines: [:browser] 00:47:33.207 [debug] QUERY OK source="media_items" db=0.9ms idle=929.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" = ?) [6042] 00:47:33.208 [debug] QUERY OK source="settings" db=0.4ms idle=931.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:47:33.209 [debug] QUERY OK source="settings" db=0.5ms idle=931.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:47:33.212 [debug] QUERY OK source="settings" db=0.6ms queue=0.6ms idle=933.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:47:33.215 [info] Sent 200 in 10ms 00:47:36.301 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:00.153 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:48:06.303 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:08.056 [info] GET /sources/6/media/3244/edit 00:48:08.056 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3244", "source_id" => "6"} Pipelines: [:browser] 00:48:08.057 [debug] QUERY OK source="media_items" db=0.5ms idle=1779.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3244] 00:48:08.058 [debug] QUERY OK source="settings" db=0.2ms idle=1781.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:48:08.060 [debug] QUERY OK source="settings" db=0.8ms idle=1755.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:48:08.062 [debug] QUERY OK source="settings" db=1.5ms idle=1664.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:48:08.065 [info] Sent 200 in 8ms 00:48:36.305 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:38.130 [info] GET /sources/7/media/6045/edit 00:48:38.131 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6045", "source_id" => "7"} Pipelines: [:browser] 00:48:38.132 [debug] QUERY OK source="media_items" db=0.4ms idle=1686.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" = ?) [6045] 00:48:38.133 [debug] QUERY OK source="settings" db=0.3ms idle=855.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:48:38.134 [debug] QUERY OK source="settings" db=0.2ms idle=856.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:48:38.136 [debug] QUERY OK source="settings" db=1.4ms idle=857.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:48:38.139 [info] Sent 200 in 8ms 00:49:00.154 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:49:04.730 [info] GET /sources/7/media/6047/edit 00:49:04.730 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6047", "source_id" => "7"} Pipelines: [:browser] 00:49:04.731 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1453.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6047] 00:49:04.732 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1454.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:49:04.733 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1455.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:49:04.735 [debug] QUERY OK source="settings" db=0.2ms idle=1238.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:49:04.736 [info] Sent 200 in 6ms 00:49:06.308 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:28.290 [info] GET /sources/7/media/6049/edit 00:49:28.290 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6049", "source_id" => "7"} Pipelines: [:browser] 00:49:28.291 [debug] QUERY OK source="media_items" db=0.5ms idle=747.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" = ?) [6049] 00:49:28.293 [debug] QUERY OK source="settings" db=0.7ms idle=15.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:49:28.293 [debug] QUERY OK source="settings" db=0.3ms idle=16.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:49:28.294 [debug] QUERY OK source="settings" db=0.5ms idle=16.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:49:28.295 [info] Sent 200 in 5ms 00:49:36.310 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:49.818 [info] GET /sources/5/media/1986/edit 00:49:49.818 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1986", "source_id" => "5"} Pipelines: [:browser] 00:49:49.819 [debug] QUERY OK source="media_items" db=0.5ms idle=1541.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1986] 00:49:49.820 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1543.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:49:49.821 [debug] QUERY OK source="settings" db=0.6ms idle=1543.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:49:49.822 [debug] QUERY OK source="settings" db=0.2ms 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 [] 00:49:49.823 [info] Sent 200 in 5ms 00:50:00.155 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:50:06.312 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:10.035 [info] GET /sources/5/media/1988/edit 00:50:10.036 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1988", "source_id" => "5"} Pipelines: [:browser] 00:50:10.036 [debug] QUERY OK source="media_items" db=0.2ms idle=1404.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" = ?) [1988] 00:50:10.036 [debug] QUERY OK source="settings" db=0.1ms idle=759.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:50:10.037 [debug] QUERY OK source="settings" db=0.3ms idle=759.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:50:10.038 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=760.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:50:10.039 [info] Sent 200 in 3ms 00:50:27.569 [info] GET /sources/5/media/1990/edit 00:50:27.569 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1990", "source_id" => "5"} Pipelines: [:browser] 00:50:27.570 [debug] QUERY OK source="media_items" db=0.5ms idle=899.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" = ?) [1990] 00:50:27.571 [debug] QUERY OK source="settings" db=0.2ms idle=294.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:50:27.572 [debug] QUERY OK source="settings" db=0.3ms idle=294.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:50:27.573 [debug] QUERY OK source="settings" db=0.2ms idle=296.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:50:27.576 [info] Sent 200 in 7ms 00:50:36.315 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:44.293 [info] GET /sources/6/media/3249/edit 00:50:44.294 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3249", "source_id" => "6"} Pipelines: [:browser] 00:50:44.296 [debug] QUERY OK source="media_items" db=1.7ms idle=1017.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" = ?) [3249] 00:50:44.298 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1019.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:50:44.298 [debug] QUERY OK source="settings" db=0.3ms idle=1021.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:50:44.300 [debug] QUERY OK source="settings" db=0.2ms idle=588.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:50:44.302 [info] Sent 200 in 8ms 00:50:58.812 [info] GET /sources/6/media/3252/edit 00:50:58.813 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3252", "source_id" => "6"} Pipelines: [:browser] 00:50:58.814 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=536.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3252] 00:50:58.816 [debug] QUERY OK source="settings" db=1.0ms idle=537.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:50:58.817 [debug] QUERY OK source="settings" db=0.4ms queue=0.7ms idle=539.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:50:58.818 [debug] QUERY OK source="settings" db=0.1ms idle=541.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:50:58.819 [info] Sent 200 in 6ms 00:51:00.156 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:51:06.318 [info] {"source":"oban","duration":1927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:11.910 [info] GET /sources/7/media/6057/edit 00:51:11.910 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6057", "source_id" => "7"} Pipelines: [:browser] 00:51:11.911 [debug] QUERY OK source="media_items" db=0.4ms idle=1633.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6057] 00:51:11.912 [debug] QUERY OK source="settings" db=0.4ms idle=1634.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:11.913 [debug] QUERY OK source="settings" db=0.3ms idle=1635.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:11.914 [debug] QUERY OK source="settings" db=0.3ms idle=1134.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:11.916 [info] Sent 200 in 6ms 00:51:23.130 [info] GET /sources/5/media/1984/edit 00:51:23.130 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1984", "source_id" => "5"} Pipelines: [:browser] 00:51:23.131 [debug] QUERY OK source="media_items" db=0.1ms queue=0.7ms idle=1853.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1984] 00:51:23.131 [debug] QUERY OK source="settings" db=0.1ms idle=1854.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:23.132 [debug] QUERY OK source="settings" db=0.1ms idle=1854.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:23.132 [debug] QUERY OK source="settings" db=0.0ms idle=1329.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:23.133 [info] Sent 200 in 3ms 00:51:34.014 [info] GET /sources/5/media/1998/edit 00:51:34.015 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1998", "source_id" => "5"} Pipelines: [:browser] 00:51:34.015 [debug] QUERY OK source="media_items" db=0.2ms idle=1737.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" = ?) [1998] 00:51:34.016 [debug] QUERY OK source="settings" db=0.5ms idle=1738.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:34.017 [debug] QUERY OK source="settings" db=0.1ms queue=0.6ms idle=1739.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:34.018 [debug] QUERY OK source="settings" db=0.3ms idle=1192.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:34.019 [info] Sent 200 in 4ms 00:51:36.320 [info] {"source":"oban","duration":1483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:43.315 [info] GET /sources/7/media/6053/edit 00:51:43.316 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6053", "source_id" => "7"} Pipelines: [:browser] 00:51:43.317 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=1039.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6053] 00:51:43.319 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=472.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:43.320 [debug] QUERY OK source="settings" db=0.4ms idle=42.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:43.321 [debug] QUERY OK source="settings" db=0.4ms idle=43.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:43.324 [info] Sent 200 in 8ms 00:51:51.584 [info] GET /sources/5/media/1997/edit 00:51:51.585 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1997", "source_id" => "5"} Pipelines: [:browser] 00:51:51.586 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=725.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1997] 00:51:51.589 [debug] QUERY OK source="settings" db=0.4ms queue=1.2ms idle=310.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:51.590 [debug] QUERY OK source="settings" db=0.5ms queue=0.6ms idle=312.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:51.593 [debug] QUERY OK source="settings" db=0.4ms queue=0.5ms idle=314.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:51.596 [info] Sent 200 in 11ms 00:51:58.976 [info] GET /sources/8/media/9568/edit 00:51:58.976 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "9568", "source_id" => "8"} Pipelines: [:browser] 00:51:58.978 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms idle=1699.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9568] 00:51:58.979 [debug] QUERY OK source="settings" db=0.4ms idle=1701.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:58.979 [debug] QUERY OK source="settings" db=0.4ms idle=1702.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:58.981 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1105.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:51:58.984 [info] Sent 200 in 8ms 00:52:00.157 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:52:05.699 [info] GET /sources/5/media/1992/edit 00:52:05.699 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1992", "source_id" => "5"} Pipelines: [:browser] 00:52:05.700 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1422.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1992] 00:52:05.701 [debug] QUERY OK source="settings" db=0.5ms idle=1424.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:05.703 [debug] QUERY OK source="settings" db=0.6ms queue=0.5ms idle=1424.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:05.706 [debug] QUERY OK source="settings" db=1.6ms idle=811.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:05.708 [info] Sent 200 in 9ms 00:52:06.324 [info] {"source":"oban","duration":1933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:12.169 [info] GET /sources/6/media/3241/edit 00:52:12.170 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3241", "source_id" => "6"} Pipelines: [:browser] 00:52:12.171 [debug] QUERY OK source="media_items" db=0.4ms idle=1263.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3241] 00:52:12.172 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=894.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:12.172 [debug] QUERY OK source="settings" db=0.3ms idle=895.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:12.174 [debug] QUERY OK source="settings" db=0.3ms idle=896.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:12.176 [info] Sent 200 in 7ms 00:52:17.974 [info] GET /sources/7/media/6051/edit 00:52:17.974 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6051", "source_id" => "7"} Pipelines: [:browser] 00:52:17.975 [debug] QUERY OK source="media_items" db=0.4ms idle=698.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6051] 00:52:17.977 [debug] QUERY OK source="settings" db=0.3ms idle=699.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:17.978 [debug] QUERY OK source="settings" db=0.4ms idle=700.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:17.979 [debug] QUERY OK source="settings" db=0.2ms idle=701.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:17.980 [info] Sent 200 in 5ms 00:52:23.057 [info] GET /sources/6/media/3247/edit 00:52:23.057 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3247", "source_id" => "6"} Pipelines: [:browser] 00:52:23.061 [debug] QUERY OK source="media_items" db=3.0ms idle=1780.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" = ?) [3247] 00:52:23.062 [debug] QUERY OK source="settings" db=0.4ms idle=1784.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:23.063 [debug] QUERY OK source="settings" db=0.4ms idle=1785.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:23.064 [debug] QUERY OK source="settings" db=0.4ms idle=1131.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:23.067 [info] Sent 200 in 10ms 00:52:27.518 [info] GET /sources/7/media/6040/edit 00:52:27.518 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6040", "source_id" => "7"} Pipelines: [:browser] 00:52:27.519 [debug] QUERY OK source="media_items" db=0.1ms idle=1241.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6040] 00:52:27.519 [debug] QUERY OK source="settings" db=0.1ms idle=1242.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:27.519 [debug] QUERY OK source="settings" db=0.1ms idle=1242.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:27.520 [debug] QUERY OK source="settings" db=0.4ms idle=1242.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:27.521 [info] Sent 200 in 2ms 00:52:31.523 [info] GET /sources/6/media/3240/edit 00:52:31.523 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3240", "source_id" => "6"} Pipelines: [:browser] 00:52:31.523 [debug] QUERY OK source="media_items" db=0.1ms idle=572.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3240] 00:52:31.524 [debug] QUERY OK source="settings" db=0.2ms idle=246.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:31.524 [debug] QUERY OK source="settings" db=0.1ms idle=246.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:31.524 [debug] QUERY OK source="settings" db=0.0ms idle=247.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:31.525 [info] Sent 200 in 2ms 00:52:35.155 [info] GET /sources/4/edit 00:52:35.155 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "4"} Pipelines: [:browser] 00:52:35.157 [debug] QUERY OK source="sources" db=1.6ms queue=0.1ms idle=1878.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 00:52:35.161 [debug] QUERY OK source="media_profiles" db=2.4ms queue=0.3ms idle=1881.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" [] 00:52:35.168 [debug] QUERY OK source="settings" db=5.0ms queue=0.1ms idle=1885.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:35.173 [debug] QUERY OK source="settings" db=1.2ms queue=3.2ms idle=1210.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:35.177 [debug] QUERY OK source="settings" db=0.8ms queue=1.1ms idle=214.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:35.187 [info] Sent 200 in 31ms 00:52:36.326 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:38.543 [info] GET /sources/7/edit 00:52:38.543 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 00:52:38.544 [debug] QUERY OK source="sources" db=0.5ms idle=577.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 00:52:38.545 [debug] QUERY OK source="media_profiles" db=0.4ms idle=267.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" [] 00:52:38.546 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=268.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:38.547 [debug] QUERY OK source="settings" db=0.2ms idle=269.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:38.548 [debug] QUERY OK source="settings" db=0.2ms idle=270.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:38.556 [info] Sent 200 in 13ms 00:52:41.545 [info] GET /sources/6/edit 00:52:41.545 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 00:52:41.546 [debug] QUERY OK source="sources" db=0.2ms idle=1268.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 00:52:41.546 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1269.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" [] 00:52:41.547 [debug] QUERY OK source="settings" db=0.1ms idle=1269.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:41.547 [debug] QUERY OK source="settings" db=0.0ms idle=1269.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:41.547 [debug] QUERY OK source="settings" db=0.0ms idle=574.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:41.550 [info] Sent 200 in 4ms 00:52:44.113 [info] GET /sources/8/edit 00:52:44.113 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "8"} Pipelines: [:browser] 00:52:44.114 [debug] QUERY OK source="sources" db=0.6ms idle=836.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 00:52:44.115 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=837.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" [] 00:52:44.116 [debug] QUERY OK source="settings" db=0.4ms idle=838.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:44.119 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=839.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:44.121 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=142.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:44.129 [info] Sent 200 in 16ms 00:52:46.533 [info] GET /sources/2/edit 00:52:46.533 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 00:52:46.535 [debug] QUERY OK source="sources" db=0.6ms idle=1257.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 00:52:46.536 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1258.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" [] 00:52:46.537 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1259.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:46.538 [debug] QUERY OK source="settings" db=0.6ms idle=1260.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:46.540 [debug] QUERY OK source="settings" db=1.3ms idle=555.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:46.548 [info] Sent 200 in 14ms 00:52:48.553 [info] GET /sources/5/edit 00:52:48.553 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "5"} Pipelines: [:browser] 00:52:48.554 [debug] QUERY OK source="sources" db=0.2ms idle=566.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 00:52:48.554 [debug] QUERY OK source="media_profiles" db=0.1ms idle=277.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" [] 00:52:48.554 [debug] QUERY OK source="settings" db=0.1ms idle=277.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:48.555 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=277.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:48.556 [debug] QUERY OK source="settings" db=0.1ms idle=278.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:48.558 [info] Sent 200 in 4ms 00:52:50.557 [info] GET /sources/3/edit 00:52:50.557 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 00:52:50.558 [debug] QUERY OK source="sources" db=0.5ms idle=563.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 00:52:50.559 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=282.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" [] 00:52:50.560 [debug] QUERY OK source="settings" db=0.3ms idle=283.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:50.561 [debug] QUERY OK source="settings" db=0.2ms idle=283.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:50.563 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=285.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:50.571 [info] Sent 200 in 13ms 00:52:52.220 [info] GET /sources/9/edit 00:52:52.220 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "9"} Pipelines: [:browser] 00:52:52.221 [debug] QUERY OK source="sources" db=0.4ms idle=1660.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:52:52.222 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.2ms idle=1660.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 00:52:52.223 [debug] QUERY OK source="settings" db=0.3ms idle=1659.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:52.224 [debug] QUERY OK source="settings" db=0.4ms idle=1227.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:52.225 [debug] QUERY OK source="settings" db=0.2ms idle=227.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:52.232 [info] Sent 200 in 12ms 00:52:53.828 [info] GET /sources/7/media/6053/force_download 00:52:53.829 [debug] QUERY OK source="settings" db=0.1ms idle=828.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:53.829 [debug] QUERY OK source="settings" db=0.0ms idle=551.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:53.829 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:52:53.829 [error] #PID<0.148801.0> running PinchflatWeb.Endpoint (connection #PID<0.148787.0>, stream id 12) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/6053/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/7/media/6053/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148787.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6053/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39952}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6053", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI" }, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148801.0>, params: %{}, path_info: ["sources", "7", "media", "6053", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/6053"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/6053/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTie5JmGSxZJwsABtbC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148787.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6053/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39952}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6053", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/6053/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148787.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6053/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39952}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6053", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x- (truncated) 00:52:55.240 [info] GET /sources/5/media/1995/force_download 00:52:55.241 [debug] QUERY OK source="settings" db=0.2ms idle=1964.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:55.242 [debug] QUERY OK source="settings" db=0.2ms idle=1412.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:55.242 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:52:55.243 [error] #PID<0.148802.0> running PinchflatWeb.Endpoint (connection #PID<0.148787.0>, stream id 13) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/5/media/1995/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1995/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148787.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1995/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39952}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1995", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 13, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI" }, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148802.0>, params: %{}, path_info: ["sources", "5", "media", "1995", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/5/media/1995"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/5/media/1995/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTie-aUpcR9LKIABtbi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148787.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1995/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39952}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1995", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 13, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1995/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148787.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1995/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39952}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1995", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x- (truncated) 00:52:59.621 [info] GET /sources/6/media/3252/force_download 00:52:59.622 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1344.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:59.623 [debug] QUERY OK source="settings" db=0.4ms idle=1345.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:59.623 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:52:59.624 [error] #PID<0.148804.0> running PinchflatWeb.Endpoint (connection #PID<0.148787.0>, stream id 14) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/3252/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/6/media/3252/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148787.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3252/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39952}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3252", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI" }, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148804.0>, params: %{}, path_info: ["sources", "6", "media", "3252", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/3252"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/3252/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTifOupgzqnebEABtcC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148787.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3252/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39952}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3252", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/3252/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148787.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3252/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39952}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYakVyZ3p1SXpnRDhya29fQW9nemtvUThC.NsUe57fjwSW_tp1aPtxFJZmwuMovfY2OTq03wrrFebI", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3252", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x- (truncated) 00:53:00.158 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:53:06.328 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:12.421 [info] GET /sources/7/media/6047/force_download 00:53:12.422 [debug] QUERY OK source="settings" db=0.1ms idle=1144.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:53:12.422 [debug] QUERY OK source="settings" db=0.1ms idle=1145.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:53:12.422 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:53:12.423 [error] #PID<0.148808.0> running PinchflatWeb.Endpoint (connection #PID<0.148807.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/6047/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/7/media/6047/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148807.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6047/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43640}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6047", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148808.0>, params: %{}, path_info: ["sources", "7", "media", "6047", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/6047"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/6047/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTif-an53HVvSkABtdC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148807.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6047/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43640}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6047", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/6047/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148807.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6047/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43640}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6047", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148808.0>, params: %{}, path_info: ["sources", "7", "media", "6047", "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.fisean.d (truncated) 00:53:36.331 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:50.386 [info] GET /sources/7/media/6045/force_download 00:53:50.389 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms idle=270.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:53:50.389 [debug] QUERY OK source="settings" db=0.2ms idle=111.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:53:50.389 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:53:50.390 [error] #PID<0.148813.0> running PinchflatWeb.Endpoint (connection #PID<0.148812.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/6045/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/7/media/6045/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148812.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6045/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 37312}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6045", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148813.0>, params: %{}, path_info: ["sources", "7", "media", "6045", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/6045"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/6045/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTiiL2IaQOvD2MABteC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148812.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6045/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 37312}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6045", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/6045/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148812.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6045/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 37312}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6045", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148813.0>, params: %{}, path_info: ["sources", "7", "media", "6045", "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.fisean.d (truncated) 00:54:00.159 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:54:06.333 [info] {"source":"oban","duration":1141,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:36.335 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:54.919 [info] GET /sources/5/media/1984/force_download 00:54:54.921 [debug] QUERY OK source="settings" db=1.1ms idle=667.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:54:54.922 [debug] QUERY OK source="settings" db=0.5ms idle=644.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:54:54.922 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:54:54.923 [error] #PID<0.148820.0> running PinchflatWeb.Endpoint (connection #PID<0.148819.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/5/media/1984/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1984/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148819.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1984/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 54892}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1984", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148820.0>, params: %{}, path_info: ["sources", "5", "media", "1984", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/5/media/1984"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/5/media/1984/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTil8P5AbTGKBsABtfi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148819.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1984/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 54892}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1984", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1984/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148819.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1984/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 54892}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1984", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148820.0>, params: %{}, path_info: ["sources", "5", "media", "1984", "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.fisean.d (truncated) 00:55:00.160 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:55:06.337 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:36.342 [info] {"source":"oban","duration":2813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:58.925 [info] GET /sources/5/media/2002/force_download 00:55:58.927 [debug] QUERY OK source="settings" db=1.0ms idle=646.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:55:58.927 [debug] QUERY OK source="settings" db=0.1ms idle=647.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:55:58.927 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:55:58.927 [error] #PID<0.148828.0> running PinchflatWeb.Endpoint (connection #PID<0.148827.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/5/media/2002/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/2002/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/2002/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56374}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/2002", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148828.0>, params: %{}, path_info: ["sources", "5", "media", "2002", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/5/media/2002"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/5/media/2002/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTipqsJLmhVLMUABthC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/2002/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56374}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/2002", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/2002/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/2002/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56374}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/2002", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148828.0>, params: %{}, path_info: ["sources", "5", "media", "2002", "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.fisean.d (truncated) 00:56:00.162 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:56:06.344 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:36.346 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:00.163 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:57:03.658 [info] GET /sources/5/media/1986/force_download 00:57:03.659 [debug] QUERY OK source="settings" db=0.5ms idle=1379.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:57:03.660 [debug] QUERY OK source="settings" db=0.5ms idle=1380.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:57:03.660 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:57:03.661 [error] #PID<0.148836.0> running PinchflatWeb.Endpoint (connection #PID<0.148835.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/5/media/1986/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1986/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148835.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1986/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 52534}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1986", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148836.0>, params: %{}, path_info: ["sources", "5", "media", "1986", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/5/media/1986"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/5/media/1986/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTitb1nd6aZZHAABtii"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148835.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1986/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 52534}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1986", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1986/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148835.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1986/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 52534}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1986", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148836.0>, params: %{}, path_info: ["sources", "5", "media", "1986", "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.fisean.d (truncated) 00:57:06.348 [info] {"source":"oban","duration":1278,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:36.350 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:00.165 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:58:06.149 [info] GET /sources/7/media/6042/force_download 00:58:06.150 [debug] QUERY OK source="settings" db=0.5ms idle=1870.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:58:06.151 [debug] QUERY OK source="settings" db=0.2ms idle=1530.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:58:06.151 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:58:06.152 [error] #PID<0.148845.0> running PinchflatWeb.Endpoint (connection #PID<0.148844.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/6042/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/7/media/6042/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148844.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6042/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41636}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6042", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148845.0>, params: %{}, path_info: ["sources", "7", "media", "6042", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/6042"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/6042/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTixEouXvRwJxEABtki"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148844.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6042/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41636}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6042", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/6042/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148844.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6042/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41636}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6042", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148845.0>, params: %{}, path_info: ["sources", "7", "media", "6042", "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.fisean.d (truncated) 00:58:06.352 [info] {"source":"oban","duration":1503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:36.355 [info] {"source":"oban","duration":1489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:00.166 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:59:06.357 [info] {"source":"oban","duration":1479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:08.248 [info] GET /sources/5/media/1998/force_download 00:59:08.249 [debug] QUERY OK source="settings" db=0.3ms idle=1891.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:59:08.250 [debug] QUERY OK source="settings" db=0.3ms idle=1502.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:59:08.250 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:59:08.251 [error] #PID<0.148853.0> running PinchflatWeb.Endpoint (connection #PID<0.148852.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/5/media/1998/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1998/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148852.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1998/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 59454}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1998", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148853.0>, params: %{}, path_info: ["sources", "5", "media", "1998", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/5/media/1998"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/5/media/1998/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTi0r-Rs_LxXnwABtmC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148852.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1998/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 59454}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1998", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1998/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148852.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1998/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 59454}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1998", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148853.0>, params: %{}, path_info: ["sources", "5", "media", "1998", "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.fisean.d (truncated) 00:59:36.360 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:00.188 [info] {"source":"oban","duration":20230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[415]} 01:00:00.204 [info] {"args":{},"id":415,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1771290000202310431,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","local_data"]} 01:00:00.610 [debug] QUERY OK source="media_items" db=402.2ms idle=928.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" 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)) [] 01:00:00.611 [info] Culling 0 media items past their retention date 01:00:00.636 [debug] QUERY OK source="media_items" db=25.1ms idle=1332.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" WHERE ((NOT (m0."media_filepath" IS NULL) AND NOT ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND NOT (m0."prevent_culling" = 1)) [] 01:00:00.637 [info] Deleting 0 media items that are from before the source cutoff 01:00:00.642 [info] {"args":{},"id":415,"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":435057,"event":"job:stop","queue_time":193538,"attempt":1,"tags":["media_item","local_data"]} 01:00:06.365 [info] {"source":"oban","duration":2819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:08.788 [info] GET /sources/5/media/1992/force_download 01:00:08.790 [debug] QUERY OK source="settings" db=1.7ms idle=902.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:00:08.791 [debug] QUERY OK source="settings" db=0.2ms idle=511.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:00:08.791 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:00:08.791 [error] #PID<0.148861.0> running PinchflatWeb.Endpoint (connection #PID<0.148860.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/5/media/1992/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1992/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148860.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1992/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58642}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1992", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148861.0>, params: %{}, path_info: ["sources", "5", "media", "1992", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/5/media/1992"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/5/media/1992/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTi4NgF2jkD01EABtni"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148860.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1992/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58642}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1992", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1992/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148860.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1992/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58642}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1992", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148861.0>, params: %{}, path_info: ["sources", "5", "media", "1992", "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.fisean.d (truncated) 01:00:36.367 [info] {"source":"oban","duration":1488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:00.189 [info] {"source":"oban","duration":335,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:01:06.369 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:12.490 [info] GET /sources/7/media/6060/force_download 01:01:12.492 [debug] QUERY OK source="settings" db=0.5ms idle=457.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:01:12.492 [debug] QUERY OK source="settings" db=0.3ms idle=212.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:01:12.492 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:01:12.494 [error] #PID<0.148869.0> running PinchflatWeb.Endpoint (connection #PID<0.148868.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/6060/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/7/media/6060/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148868.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6060/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 52000}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6060", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148869.0>, params: %{}, path_info: ["sources", "7", "media", "6060", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/6060"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/6060/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTi76z71pgkqm4ABtpC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148868.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6060/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 52000}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6060", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/6060/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148868.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6060/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 52000}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6060", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148869.0>, params: %{}, path_info: ["sources", "7", "media", "6060", "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.fisean.d (truncated) 01:01:36.372 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:00.190 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:02:06.374 [info] {"source":"oban","duration":1765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:12.811 [info] GET /sources/7/media/6055/force_download 01:02:12.812 [debug] QUERY OK source="settings" db=0.4ms idle=652.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:02:12.813 [debug] QUERY OK source="settings" db=0.3ms idle=533.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:02:12.813 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:02:12.814 [error] #PID<0.148876.0> running PinchflatWeb.Endpoint (connection #PID<0.148875.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/6055/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/7/media/6055/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148875.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6055/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58500}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6055", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148876.0>, params: %{}, path_info: ["sources", "7", "media", "6055", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/6055"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/6055/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTi_bhkEBvjzvIABtqi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148875.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6055/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58500}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6055", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/6055/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148875.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6055/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58500}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6055", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148876.0>, params: %{}, path_info: ["sources", "7", "media", "6055", "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.fisean.d (truncated) 01:02:36.377 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:00.191 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:03:06.378 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:17.870 [info] GET /sources/6/media/3247/force_download 01:03:17.871 [debug] QUERY OK source="settings" db=0.3ms idle=1590.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:03:17.871 [debug] QUERY OK source="settings" db=0.3ms idle=1590.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:03:17.872 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:03:17.873 [error] #PID<0.148885.0> running PinchflatWeb.Endpoint (connection #PID<0.148884.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/3247/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/6/media/3247/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148884.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3247/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 54798}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3247", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148885.0>, params: %{}, path_info: ["sources", "6", "media", "3247", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/3247"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/3247/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTjDN4tKtYRC50ABtsC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148884.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3247/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 54798}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3247", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/3247/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148884.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3247/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 54798}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3247", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148885.0>, params: %{}, path_info: ["sources", "6", "media", "3247", "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.fisean.d (truncated) 01:03:36.379 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:00.193 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:04:06.385 [info] {"source":"oban","duration":5367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:20.301 [info] GET /sources/8/media/9568/force_download 01:04:20.302 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1021.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:04:20.302 [debug] QUERY OK source="settings" db=0.3ms idle=875.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:04:20.303 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:04:20.303 [error] #PID<0.148892.0> running PinchflatWeb.Endpoint (connection #PID<0.148891.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/8/media/9568/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/8/media/9568/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148891.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/9568/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58848}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/9568", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148892.0>, params: %{}, path_info: ["sources", "8", "media", "9568", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/8/media/9568"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/8/media/9568/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTjG2dcLuq2FwcABttC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148891.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/9568/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58848}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/9568", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/media/9568/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148891.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/9568/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58848}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8/media/9568", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148892.0>, params: %{}, path_info: ["sources", "8", "media", "9568", "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.fisean.d (truncated) 01:04:36.387 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:00.195 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:05:06.389 [info] {"source":"oban","duration":1330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:20.658 [info] GET /sources/7/media/6057/force_download 01:05:20.659 [debug] QUERY OK source="settings" db=0.8ms idle=377.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:05:20.662 [debug] QUERY OK source="settings" db=1.9ms idle=378.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:05:20.662 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:05:20.665 [error] #PID<0.148900.0> running PinchflatWeb.Endpoint (connection #PID<0.148899.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/6057/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/7/media/6057/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148899.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6057/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 54994}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6057", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148900.0>, params: %{}, path_info: ["sources", "7", "media", "6057", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/6057"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/6057/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTjKXTp1gYGQYoABtui"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148899.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6057/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 54994}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6057", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/6057/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148899.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6057/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 54994}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6057", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148900.0>, params: %{}, path_info: ["sources", "7", "media", "6057", "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.fisean.d (truncated) 01:05:36.392 [info] {"source":"oban","duration":1918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:00.196 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:06:06.394 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:24.826 [info] GET /sources/5/media/1988/force_download 01:06:24.827 [debug] QUERY OK source="settings" db=0.5ms idle=546.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:06:24.829 [debug] QUERY OK source="settings" db=0.8ms idle=546.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:06:24.829 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:06:24.829 [error] #PID<0.148907.0> running PinchflatWeb.Endpoint (connection #PID<0.148906.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/5/media/1988/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1988/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148906.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1988/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 52786}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1988", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148907.0>, params: %{}, path_info: ["sources", "5", "media", "1988", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/5/media/1988"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/5/media/1988/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTjOGWnaiKtxsEADKNh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148906.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1988/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 52786}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1988", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1988/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148906.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1988/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 52786}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1988", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148907.0>, params: %{}, path_info: ["sources", "5", "media", "1988", "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.fisean.d (truncated) 01:06:36.396 [info] {"source":"oban","duration":1423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:00.198 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:07:06.397 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:25.260 [info] GET /sources/6/media/3240/force_download 01:07:25.261 [debug] QUERY OK source="settings" db=0.3ms idle=979.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:07:25.262 [debug] QUERY OK source="settings" db=0.5ms idle=980.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:07:25.262 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:07:25.263 [error] #PID<0.148915.0> running PinchflatWeb.Endpoint (connection #PID<0.148914.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/3240/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/6/media/3240/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148914.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3240/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 48088}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3240", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148915.0>, params: %{}, path_info: ["sources", "6", "media", "3240", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/3240"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/3240/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTjRnfD7e2gXzYABtwi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148914.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3240/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 48088}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3240", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/3240/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148914.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3240/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 48088}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3240", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148915.0>, params: %{}, path_info: ["sources", "6", "media", "3240", "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.fisean.d (truncated) 01:07:36.398 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:00.199 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:08:06.400 [info] {"source":"oban","duration":1442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:30.603 [info] GET /sources/7/media/6049/force_download 01:08:30.603 [debug] QUERY OK source="settings" db=0.1ms idle=625.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:08:30.604 [debug] QUERY OK source="settings" db=0.1ms idle=321.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:08:30.604 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:08:30.604 [error] #PID<0.148922.0> running PinchflatWeb.Endpoint (connection #PID<0.148921.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/6049/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/7/media/6049/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148921.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6049/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 59552}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6049", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148922.0>, params: %{}, path_info: ["sources", "7", "media", "6049", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/6049"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/6049/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTjVa6JYCz11vMABtxi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148921.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6049/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 59552}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6049", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/6049/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148921.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6049/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 59552}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6049", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148922.0>, params: %{}, path_info: ["sources", "7", "media", "6049", "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.fisean.d (truncated) 01:08:36.402 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:00.201 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:09:06.403 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:36.406 [info] {"source":"oban","duration":1301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:36.521 [info] GET /sources/6/media/3249/force_download 01:09:36.522 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=239.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:09:36.523 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=240.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:09:36.523 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:09:36.524 [error] #PID<0.148930.0> running PinchflatWeb.Endpoint (connection #PID<0.148929.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/3249/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/6/media/3249/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148929.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3249/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41496}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3249", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148930.0>, params: %{}, path_info: ["sources", "6", "media", "3249", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/3249"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/3249/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTjZQeQxkv7JUoADKQB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148929.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3249/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41496}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3249", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/3249/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148929.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3249/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41496}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3249", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148930.0>, params: %{}, path_info: ["sources", "6", "media", "3249", "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.fisean.d (truncated) 01:10:00.202 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:10:06.407 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:36.409 [info] {"source":"oban","duration":1004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:38.932 [info] GET /sources/6/media/3241/force_download 01:10:38.933 [debug] QUERY OK source="settings" db=0.3ms idle=689.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:10:38.934 [debug] QUERY OK source="settings" db=0.3ms idle=650.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:10:38.935 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:10:38.935 [error] #PID<0.148939.0> running PinchflatWeb.Endpoint (connection #PID<0.148938.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/3241/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/6/media/3241/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148938.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3241/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 32800}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3241", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148939.0>, params: %{}, path_info: ["sources", "6", "media", "3241", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/3241"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/3241/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTjc4-RTajtQewADKSB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148938.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3241/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 32800}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3241", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/3241/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148938.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3241/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 32800}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3241", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148939.0>, params: %{}, path_info: ["sources", "6", "media", "3241", "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.fisean.d (truncated) 01:11:00.204 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:11:06.411 [info] {"source":"oban","duration":1344,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:36.413 [info] {"source":"oban","duration":1167,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:40.587 [info] GET /sources/5/media/1990/force_download 01:11:40.588 [debug] QUERY OK source="settings" db=0.3ms idle=300.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:11:40.589 [debug] QUERY OK source="settings" db=0.3ms idle=300.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:11:40.589 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:11:40.590 [error] #PID<0.148947.0> running PinchflatWeb.Endpoint (connection #PID<0.148946.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/5/media/1990/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1990/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148946.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1990/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50294}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1990", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148947.0>, params: %{}, path_info: ["sources", "5", "media", "1990", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/5/media/1990"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/5/media/1990/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTjgep8WOL4Sw4ADKTh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148946.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1990/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50294}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1990", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1990/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148946.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1990/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50294}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1990", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148947.0>, params: %{}, path_info: ["sources", "5", "media", "1990", "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.fisean.d (truncated) 01:12:00.206 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:12:06.414 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:36.416 [info] {"source":"oban","duration":1086,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:44.917 [info] GET /sources/7/media/6051/force_download 01:12:44.918 [debug] QUERY OK source="settings" db=0.8ms idle=629.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:12:44.921 [debug] QUERY OK source="settings" db=2.1ms idle=630.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:12:44.921 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:12:44.925 [error] #PID<0.148954.0> running PinchflatWeb.Endpoint (connection #PID<0.148953.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/6051/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/7/media/6051/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148953.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6051/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 48234}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6051", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148954.0>, params: %{}, path_info: ["sources", "7", "media", "6051", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/6051"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/6051/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTjkOTTDReOnegADKVB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148953.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6051/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 48234}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6051", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/6051/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148953.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6051/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 48234}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6051", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148954.0>, params: %{}, path_info: ["sources", "7", "media", "6051", "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.fisean.d (truncated) 01:13:00.207 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:13:06.417 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:36.418 [info] {"source":"oban","duration":929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:47.794 [info] GET /sources/4/media/2411/force_download 01:13:47.795 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1506.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:13:47.796 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1507.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:13:47.796 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:13:47.797 [error] #PID<0.148962.0> running PinchflatWeb.Endpoint (connection #PID<0.148961.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/media/2411/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/4/media/2411/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148961.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/2411/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42992}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/2411", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148962.0>, params: %{}, path_info: ["sources", "4", "media", "2411", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4/media/2411"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/media/2411/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTjn4iVoV_wHF4ABtyC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148961.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/2411/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42992}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/2411", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/2411/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148961.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/2411/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42992}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4/media/2411", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148962.0>, params: %{}, path_info: ["sources", "4", "media", "2411", "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.fisean.d (truncated) 01:14:00.208 [info] {"source":"oban","duration":261,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:14:06.420 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:36.421 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:51.165 [info] GET /sources/7/media/6040/force_download 01:14:51.167 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=1387.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:14:51.168 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=878.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:14:51.168 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:14:51.170 [error] #PID<0.148969.0> running PinchflatWeb.Endpoint (connection #PID<0.148968.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/media/6040/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/7/media/6040/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148968.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6040/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45422}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6040", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148969.0>, params: %{}, path_info: ["sources", "7", "media", "6040", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7/media/6040"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/media/6040/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTjrknPDtLJTUYADKXh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148968.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6040/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45422}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6040", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/6040/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148968.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/6040/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45422}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7/media/6040", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148969.0>, params: %{}, path_info: ["sources", "7", "media", "6040", "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.fisean.d (truncated) 01:15:00.209 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:15:06.422 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:36.423 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:55.306 [info] GET /sources/5/media/1997/force_download 01:15:55.307 [debug] QUERY OK source="settings" db=0.3ms 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 [] 01:15:55.308 [debug] QUERY OK source="settings" db=0.6ms idle=1018.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:15:55.308 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:15:55.309 [error] #PID<0.148977.0> running PinchflatWeb.Endpoint (connection #PID<0.148976.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/5/media/1997/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1997/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1997/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60844}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1997", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148977.0>, params: %{}, path_info: ["sources", "5", "media", "1997", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/5/media/1997"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/5/media/1997/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTjvTjickUYixkABtyi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1997/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60844}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1997", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/1997/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/1997/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60844}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/1997", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148977.0>, params: %{}, path_info: ["sources", "5", "media", "1997", "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.fisean.d (truncated) 01:16:00.210 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:16:06.424 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:36.425 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:59.297 [info] GET /sources/6/media/3244/force_download 01:16:59.297 [debug] QUERY OK source="settings" db=0.4ms idle=1008.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:16:59.298 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1008.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:16:59.298 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:16:59.299 [error] #PID<0.148985.0> running PinchflatWeb.Endpoint (connection #PID<0.148984.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/media/3244/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/6/media/3244/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148984.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3244/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60214}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3244", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148985.0>, params: %{}, path_info: ["sources", "6", "media", "3244", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6/media/3244"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/media/3244/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTjzB8KIN_DVX4ADKZh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148984.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3244/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60214}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3244", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/3244/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148984.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/3244/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60214}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6/media/3244", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148985.0>, params: %{}, path_info: ["sources", "6", "media", "3244", "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.fisean.d (truncated) 01:17:00.211 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:17:06.426 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:36.427 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:00.212 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:18:01.754 [info] GET /sources/5/media/2000/force_download 01:18:01.755 [debug] QUERY OK source="settings" db=0.3ms idle=1465.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:18:01.756 [debug] QUERY OK source="settings" db=0.4ms idle=545.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:18:01.757 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:18:01.757 [error] #PID<0.148992.0> running PinchflatWeb.Endpoint (connection #PID<0.148991.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/5/media/2000/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/2000/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148991.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/2000/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50590}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/2000", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148992.0>, params: %{}, path_info: ["sources", "5", "media", "2000", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/5/media/2000"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/5/media/2000/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTj2qnQeGgj3lIABt0C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148991.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/2000/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50590}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/2000", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/2000/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148991.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/2000/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50590}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5/media/2000", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.148992.0>, params: %{}, path_info: ["sources", "5", "media", "2000", "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.fisean.d (truncated) 01:18:06.429 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:36.430 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:00.214 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:19:05.129 [info] GET /sources/3/media/507/force_download 01:19:05.130 [debug] QUERY OK source="settings" db=0.9ms idle=1836.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:19:05.130 [debug] QUERY OK source="settings" db=0.1ms idle=1838.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:19:05.130 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:19:05.131 [error] #PID<0.149000.0> running PinchflatWeb.Endpoint (connection #PID<0.148999.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/507/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/3/media/507/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148999.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/507/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41046}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/507", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149000.0>, params: %{}, path_info: ["sources", "3", "media", "507", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/507"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/507/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTj6Ws3cYCZBWQABt1i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148999.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/507/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41046}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/507", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/507/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.148999.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/507/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41046}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/507", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149000.0>, params: %{}, path_info: ["sources", "3", "media", "507", "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.fisean.duckdns.org", (truncated) 01:19:06.431 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:36.432 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:00.215 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:20:06.433 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:09.029 [info] GET /sources/3/media/510/force_download 01:20:09.031 [debug] QUERY OK source="settings" db=0.6ms idle=738.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:20:09.032 [debug] QUERY OK source="settings" db=0.2ms idle=739.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:20:09.032 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:20:09.033 [error] #PID<0.149009.0> running PinchflatWeb.Endpoint (connection #PID<0.149008.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/510/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/3/media/510/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149008.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/510/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40366}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/510", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149009.0>, params: %{}, path_info: ["sources", "3", "media", "510", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/510"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/510/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTj-Ev-2KmZ_3AABt2i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149008.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/510/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40366}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/510", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/510/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149008.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/510/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40366}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/510", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149009.0>, params: %{}, path_info: ["sources", "3", "media", "510", "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.fisean.duckdns.org", (truncated) 01:20:36.434 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:00.216 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:21:06.435 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:10.123 [info] GET /sources/3/media/524/force_download 01:21:10.124 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1826.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:21:10.125 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1827.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:21:10.125 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:21:10.126 [error] #PID<0.149017.0> running PinchflatWeb.Endpoint (connection #PID<0.149016.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/524/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/3/media/524/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149016.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/524/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 49302}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/524", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149017.0>, params: %{}, path_info: ["sources", "3", "media", "524", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/524"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/524/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTkBoVugjGJ1eMABt4C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149016.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/524/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 49302}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/524", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/524/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149016.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/524/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 49302}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/524", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149017.0>, params: %{}, path_info: ["sources", "3", "media", "524", "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.fisean.duckdns.org", (truncated) 01:21:36.437 [info] {"source":"oban","duration":915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:00.218 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:22:06.439 [info] {"source":"oban","duration":970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:15.748 [info] GET /sources/3/media/517/force_download 01:22:15.750 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1451.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:22:15.750 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1451.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:22:15.750 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:22:15.752 [error] #PID<0.149025.0> running PinchflatWeb.Endpoint (connection #PID<0.149024.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/517/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/3/media/517/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149024.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/517/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 32804}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/517", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149025.0>, params: %{}, path_info: ["sources", "3", "media", "517", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/517"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/517/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTkFc0JwiOGPM0ABt5i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149024.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/517/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 32804}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/517", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/517/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149024.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/517/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 32804}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/517", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149025.0>, params: %{}, path_info: ["sources", "3", "media", "517", "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.fisean.duckdns.org", (truncated) 01:22:36.440 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:00.219 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:23:06.441 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:20.771 [info] GET /sources/3/media/529/force_download 01:23:20.772 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1473.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:23:20.773 [debug] QUERY OK source="settings" db=0.6ms idle=1474.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:23:20.773 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:23:20.774 [error] #PID<0.149033.0> running PinchflatWeb.Endpoint (connection #PID<0.149032.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/529/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/3/media/529/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149032.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/529/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60906}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/529", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149033.0>, params: %{}, path_info: ["sources", "3", "media", "529", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/529"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/529/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTkJPCr4AuXjJoADKch"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149032.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/529/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60906}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/529", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/529/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149032.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/529/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60906}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/529", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149033.0>, params: %{}, path_info: ["sources", "3", "media", "529", "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.fisean.duckdns.org", (truncated) 01:23:36.442 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:00.220 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:24:06.443 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:25.701 [info] GET /sources/3/media/526/force_download 01:24:25.702 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1403.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:24:25.703 [debug] QUERY OK source="settings" db=0.4ms idle=1403.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:24:25.704 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:24:25.705 [error] #PID<0.149040.0> running PinchflatWeb.Endpoint (connection #PID<0.149039.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/526/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/3/media/526/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149039.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/526/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 49102}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/526", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149040.0>, params: %{}, path_info: ["sources", "3", "media", "526", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/526"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/526/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTkNA7W-LCeh50ABt6i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149039.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/526/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 49102}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/526", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/526/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149039.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/526/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 49102}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/526", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149040.0>, params: %{}, path_info: ["sources", "3", "media", "526", "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.fisean.duckdns.org", (truncated) 01:24:36.445 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:00.222 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:25:06.447 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:27.610 [info] GET /sources/3/media/520/force_download 01:25:27.611 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1311.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:27.612 [debug] QUERY OK source="settings" db=0.3ms idle=1312.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:27.612 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:25:27.613 [error] #PID<0.149048.0> running PinchflatWeb.Endpoint (connection #PID<0.149047.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/520/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/3/media/520/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149047.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/520/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 55840}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/520", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149048.0>, params: %{}, path_info: ["sources", "3", "media", "520", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/520"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/520/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTkQnjfk0HzIAkABt8C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149047.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/520/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 55840}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/520", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/520/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149047.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/520/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 55840}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/520", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149048.0>, params: %{}, path_info: ["sources", "3", "media", "520", "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.fisean.duckdns.org", (truncated) 01:25:36.448 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:00.223 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:26:06.449 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:17.851 [info] GET / 01:26:17.851 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 01:26:17.852 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1552.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:26:17.856 [debug] QUERY OK source="media_profiles" db=2.9ms idle=603.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 01:26:17.857 [debug] QUERY OK source="sources" db=0.8ms queue=0.6ms idle=556.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 01:26:17.875 [debug] QUERY OK source="media_items" db=17.0ms queue=0.4ms idle=558.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 01:26:17.924 [debug] QUERY OK source="media_items" db=48.7ms idle=576.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 01:26:17.925 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=72.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:26:17.925 [debug] QUERY OK source="settings" db=0.2ms idle=69.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:26:17.926 [debug] QUERY OK source="settings" db=0.3ms idle=68.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:26:17.928 [debug] QUERY OK source="tasks" db=0.3ms idle=52.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"] 01:26:17.930 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=4.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)) [] 01:26:17.931 [debug] QUERY OK source="media_items" db=0.8ms 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] 01:26:17.933 [debug] QUERY OK source="sources" db=0.5ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [6, 7, 8] 01:26:18.147 [debug] QUERY OK source="media_items" db=209.0ms queue=0.1ms idle=11.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 01:26:18.149 [debug] QUERY OK source="media_items" db=1.3ms idle=219.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] 01:26:18.150 [debug] QUERY OK source="sources" db=0.3ms idle=218.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 4] 01:26:18.153 [info] Sent 200 in 302ms 01:26:20.018 [info] GET /css/support_parent.css 01:26:20.018 [debug] QUERY OK source="settings" db=0.2ms idle=764.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:26:20.019 [debug] QUERY OK source="settings" db=0.3ms idle=719.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:26:20.019 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:26:20.020 [error] #PID<0.149056.0> running PinchflatWeb.Endpoint (connection #PID<0.149054.0>, stream id 2) terminated Server: pinchflat.fisean.duckdns.org: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.149054.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39890}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149056.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, 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.fisean.duckdns.org"}, {"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", "84.254.106.197"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTkTqydmsgfu6UABuAC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149054.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39890}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /css/support_parent (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149054.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39890}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149056.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>], (truncated) 01:26:23.160 [info] GET /js/lkk_ch.js 01:26:23.161 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1861.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:26:23.161 [debug] QUERY OK source="settings" db=0.2ms idle=1862.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:26:23.162 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:26:23.162 [error] #PID<0.149059.0> running PinchflatWeb.Endpoint (connection #PID<0.149054.0>, stream id 5) terminated Server: pinchflat.fisean.duckdns.org: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.149054.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39890}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149059.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, 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.fisean.duckdns.org"}, {"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", "84.254.106.197"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTkT2fkeBOVRdkABuAi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149054.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39890}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/lkk_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149054.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39890}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149059.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 => "http (truncated) 01:26:23.463 [info] GET /js/twint_ch.js 01:26:23.463 [debug] QUERY OK source="settings" db=0.1ms idle=302.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:26:23.463 [debug] QUERY OK source="settings" db=0.1ms idle=301.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:26:23.463 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:26:23.464 [error] #PID<0.149063.0> running PinchflatWeb.Endpoint (connection #PID<0.149054.0>, stream id 9) terminated Server: pinchflat.fisean.duckdns.org: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.149054.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39890}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149063.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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, 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.fisean.duckdns.org"}, {"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", "84.254.106.197"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"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", "GJTkT3nzMkxBRC8ABuBC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149054.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39890}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/twint_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149054.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39890}, bindings: %{}, sock: {{172, 25, 0, 2}, 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.fisean.duckdns.org", "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" => "84.254.106.197", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149063.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_r (truncated) 01:26:31.162 [info] GET /sources/3/media/516/force_download 01:26:31.163 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1863.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:26:31.164 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1864.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:26:31.164 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:26:31.165 [error] #PID<0.149065.0> running PinchflatWeb.Endpoint (connection #PID<0.149064.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/516/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/3/media/516/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149064.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/516/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60872}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/516", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149065.0>, params: %{}, path_info: ["sources", "3", "media", "516", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/516"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/516/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTkUUTZ5LMaGiMABuBi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149064.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/516/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60872}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/516", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/516/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149064.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/516/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60872}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/516", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149065.0>, params: %{}, path_info: ["sources", "3", "media", "516", "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.fisean.duckdns.org", (truncated) 01:26:36.451 [info] {"source":"oban","duration":1273,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:00.224 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:27:06.452 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:33.325 [info] GET /sources/3/media/511/force_download 01:27:33.326 [debug] QUERY OK source="settings" db=0.2ms idle=1018.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:27:33.326 [debug] QUERY OK source="settings" db=0.0ms idle=1019.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:27:33.326 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:27:33.326 [error] #PID<0.149073.0> running PinchflatWeb.Endpoint (connection #PID<0.149072.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/511/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/3/media/511/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149072.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/511/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50900}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/511", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149073.0>, params: %{}, path_info: ["sources", "3", "media", "511", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/511"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/511/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTkX74YQbjS4l4ABuDC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149072.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/511/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50900}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/511", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/511/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149072.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/511/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50900}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/511", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149073.0>, params: %{}, path_info: ["sources", "3", "media", "511", "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.fisean.duckdns.org", (truncated) 01:27:36.454 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:00.225 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:28:06.455 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:36.456 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:37.058 [info] GET /sources/3/media/537/force_download 01:28:37.059 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1747.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:28:37.060 [debug] QUERY OK source="settings" db=1.0ms idle=1543.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:28:37.061 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:28:37.061 [error] #PID<0.149080.0> running PinchflatWeb.Endpoint (connection #PID<0.149079.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/537/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/3/media/537/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149079.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/537/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42054}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/537", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149080.0>, params: %{}, path_info: ["sources", "3", "media", "537", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/537"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/537/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTkbpTVRIhDi00ABuEi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149079.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/537/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42054}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/537", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/537/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149079.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/537/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42054}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/537", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149080.0>, params: %{}, path_info: ["sources", "3", "media", "537", "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.fisean.duckdns.org", (truncated) 01:29:00.226 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:29:06.457 [info] {"source":"oban","duration":836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:36.460 [info] {"source":"oban","duration":1049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:40.056 [info] GET /sources/2/media/328/force_download 01:29:40.057 [debug] QUERY OK source="settings" db=0.3ms idle=1745.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:29:40.057 [debug] QUERY OK source="settings" db=0.2ms idle=1745.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:29:40.057 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:29:40.058 [error] #PID<0.149088.0> running PinchflatWeb.Endpoint (connection #PID<0.149087.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/2/media/328/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/328/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149087.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/328/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40984}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/328", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149088.0>, params: %{}, path_info: ["sources", "2", "media", "328", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/2/media/328"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/2/media/328/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTkfT_WqjVXQEgABuGC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149087.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/328/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40984}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/328", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/328/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149087.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/328/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40984}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/328", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149088.0>, params: %{}, path_info: ["sources", "2", "media", "328", "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.fisean.duckdns.org", (truncated) 01:30:00.228 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:30:06.461 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:36.463 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:41.242 [info] GET /sources/2/media/332/force_download 01:30:41.243 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1438.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:30:41.244 [debug] QUERY OK source="settings" db=0.5ms idle=931.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:30:41.244 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:30:41.245 [error] #PID<0.149097.0> running PinchflatWeb.Endpoint (connection #PID<0.149096.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/2/media/332/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/332/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149096.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/332/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 59402}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/332", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149097.0>, params: %{}, path_info: ["sources", "2", "media", "332", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/2/media/332"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/2/media/332/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTki37IS7RojEkABuHi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149096.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/332/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 59402}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/332", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/332/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149096.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/332/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 59402}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/332", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149097.0>, params: %{}, path_info: ["sources", "2", "media", "332", "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.fisean.duckdns.org", (truncated) 01:31:00.229 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:31:06.465 [info] {"source":"oban","duration":1411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:36.466 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:46.101 [info] GET /sources/3/media/442/force_download 01:31:46.103 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=1790.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:31:46.104 [debug] QUERY OK source="settings" db=0.1ms idle=1791.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:31:46.104 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:31:46.104 [error] #PID<0.149105.0> running PinchflatWeb.Endpoint (connection #PID<0.149104.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/442/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/3/media/442/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149104.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/442/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44026}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/442", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149105.0>, params: %{}, path_info: ["sources", "3", "media", "442", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/442"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/442/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTkmpi5GWk6KTMABuIi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149104.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/442/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44026}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/442", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/442/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149104.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/442/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44026}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/442", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149105.0>, params: %{}, path_info: ["sources", "3", "media", "442", "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.fisean.duckdns.org", (truncated) 01:32:00.232 [info] {"source":"oban","duration":2645,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:32:06.467 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:36.470 [info] {"source":"oban","duration":2594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:47.454 [info] GET /sources/2/media/330/force_download 01:32:47.455 [debug] QUERY OK source="settings" db=0.2ms idle=1142.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:32:47.456 [debug] QUERY OK source="settings" db=0.4ms idle=1143.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:32:47.456 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:32:47.456 [error] #PID<0.149112.0> running PinchflatWeb.Endpoint (connection #PID<0.149111.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/2/media/330/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/330/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149111.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/330/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40626}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/330", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149112.0>, params: %{}, path_info: ["sources", "2", "media", "330", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/2/media/330"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/2/media/330/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTkqOGkJgue7T4ABuJi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149111.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/330/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40626}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/330", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/330/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149111.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/330/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 40626}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/330", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149112.0>, params: %{}, path_info: ["sources", "2", "media", "330", "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.fisean.duckdns.org", (truncated) 01:33:00.233 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:33:06.472 [info] {"source":"oban","duration":1138,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:36.474 [info] {"source":"oban","duration":1264,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:47.889 [info] GET /sources/2/media/327/force_download 01:33:47.891 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1577.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:33:47.892 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1578.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:33:47.892 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:33:47.894 [error] #PID<0.149120.0> running PinchflatWeb.Endpoint (connection #PID<0.149119.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/2/media/327/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/327/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149119.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/327/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41040}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/327", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149120.0>, params: %{}, path_info: ["sources", "2", "media", "327", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/2/media/327"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/2/media/327/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTktvPbZcyh8LMABuLC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149119.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/327/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41040}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/327", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/327/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149119.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/327/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41040}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/327", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149120.0>, params: %{}, path_info: ["sources", "2", "media", "327", "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.fisean.duckdns.org", (truncated) 01:34:00.234 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:34:06.475 [info] {"source":"oban","duration":889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:36.477 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:51.503 [info] GET /sources/3/media/535/force_download 01:34:51.504 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1181.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:34:51.504 [debug] QUERY OK source="settings" db=0.3ms idle=1176.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:34:51.505 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:34:51.505 [error] #PID<0.149127.0> running PinchflatWeb.Endpoint (connection #PID<0.149126.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/535/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/3/media/535/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149126.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/535/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42930}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/535", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149127.0>, params: %{}, path_info: ["sources", "3", "media", "535", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/535"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/535/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTkxcODkDq_mpUABuMC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149126.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/535/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42930}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/535", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/535/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149126.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/535/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42930}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/535", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149127.0>, params: %{}, path_info: ["sources", "3", "media", "535", "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.fisean.duckdns.org", (truncated) 01:35:00.235 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:35:06.480 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:36.482 [info] {"source":"oban","duration":1055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:55.877 [info] GET /sources/3/media/435/force_download 01:35:55.878 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1555.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:35:55.879 [debug] QUERY OK source="settings" db=0.3ms idle=1431.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:35:55.879 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:35:55.880 [error] #PID<0.149135.0> running PinchflatWeb.Endpoint (connection #PID<0.149134.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/435/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/3/media/435/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149134.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/435/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58028}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/435", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149135.0>, params: %{}, path_info: ["sources", "3", "media", "435", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/435"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/435/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTk1MCAJTOblZMABuMi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149134.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/435/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58028}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/435", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/435/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149134.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/435/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 58028}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/435", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149135.0>, params: %{}, path_info: ["sources", "3", "media", "435", "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.fisean.duckdns.org", (truncated) 01:36:00.236 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:36:06.485 [info] {"source":"oban","duration":1976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:36.487 [info] {"source":"oban","duration":1069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:58.385 [info] GET /sources/3/media/539/force_download 01:36:58.387 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1064.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:36:58.388 [debug] QUERY OK source="settings" db=0.6ms idle=1065.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:36:58.388 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:36:58.389 [error] #PID<0.149143.0> running PinchflatWeb.Endpoint (connection #PID<0.149142.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/539/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/3/media/539/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149142.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/539/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35546}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/539", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149143.0>, params: %{}, path_info: ["sources", "3", "media", "539", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/539"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/539/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTk405NoJhPyM0ABuNi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149142.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/539/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35546}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/539", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/539/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149142.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/539/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35546}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/539", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149143.0>, params: %{}, path_info: ["sources", "3", "media", "539", "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.fisean.duckdns.org", (truncated) 01:37:00.238 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:37:06.489 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:36.490 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:00.239 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:38:03.880 [info] GET /sources/3/media/431/force_download 01:38:03.880 [debug] QUERY OK source="settings" db=0.2ms idle=1558.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:38:03.881 [debug] QUERY OK source="settings" db=0.0ms idle=1558.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:38:03.881 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:38:03.881 [error] #PID<0.149150.0> running PinchflatWeb.Endpoint (connection #PID<0.149149.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/431/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/3/media/431/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149149.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/431/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39142}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/431", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149150.0>, params: %{}, path_info: ["sources", "3", "media", "431", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/431"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/431/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTk8o4SMzgmNKkABuOi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149149.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/431/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39142}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/431", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/431/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149149.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/431/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39142}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/431", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149150.0>, params: %{}, path_info: ["sources", "3", "media", "431", "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.fisean.duckdns.org", (truncated) 01:38:06.493 [info] {"source":"oban","duration":2480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:36.494 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:00.240 [info] {"source":"oban","duration":286,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:39:06.496 [info] {"source":"oban","duration":1665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:06.684 [info] GET /sources/3/media/437/force_download 01:39:06.685 [debug] QUERY OK source="settings" db=0.3ms idle=1362.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:39:06.686 [debug] QUERY OK source="settings" db=0.2ms idle=834.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:39:06.686 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:39:06.687 [error] #PID<0.149158.0> running PinchflatWeb.Endpoint (connection #PID<0.149157.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/437/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/3/media/437/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149157.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/437/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57068}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/437", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149158.0>, params: %{}, path_info: ["sources", "3", "media", "437", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/437"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/437/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTlAS1_AgFRg_sABuQC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149157.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/437/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57068}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/437", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/437/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149157.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/437/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57068}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/437", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149158.0>, params: %{}, path_info: ["sources", "3", "media", "437", "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.fisean.duckdns.org", (truncated) 01:39:36.497 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:00.241 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:40:06.499 [info] {"source":"oban","duration":1872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:10.603 [info] GET /sources/3/media/522/force_download 01:40:10.603 [debug] QUERY OK source="settings" db=0.2ms idle=598.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:40:10.604 [debug] QUERY OK source="settings" db=0.2ms idle=281.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:40:10.604 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:40:10.604 [error] #PID<0.149165.0> running PinchflatWeb.Endpoint (connection #PID<0.149164.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/522/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/3/media/522/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149164.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/522/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47264}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/522", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149165.0>, params: %{}, path_info: ["sources", "3", "media", "522", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/522"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/522/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTlEA9WVbLL8d0ACBLj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149164.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/522/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47264}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/522", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/522/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149164.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/522/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 47264}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/522", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149165.0>, params: %{}, path_info: ["sources", "3", "media", "522", "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.fisean.duckdns.org", (truncated) 01:40:36.501 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:00.242 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:41:06.502 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:13.853 [info] GET /sources/3/media/513/force_download 01:41:13.854 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1531.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:41:13.855 [debug] QUERY OK source="settings" db=0.2ms idle=1532.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:41:13.855 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:41:13.856 [error] #PID<0.149175.0> running PinchflatWeb.Endpoint (connection #PID<0.149174.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/513/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/3/media/513/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149174.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/513/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44092}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/513", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149175.0>, params: %{}, path_info: ["sources", "3", "media", "513", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/513"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/513/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTlHslbrL5lbp4ABuSi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149174.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/513/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44092}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/513", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/513/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149174.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/513/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 44092}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/513", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149175.0>, params: %{}, path_info: ["sources", "3", "media", "513", "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.fisean.duckdns.org", (truncated) 01:41:36.504 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:00.244 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:42:06.506 [info] {"source":"oban","duration":1324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:19.376 [info] GET /sources/3/media/439/force_download 01:42:19.378 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1053.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:42:19.378 [debug] QUERY OK source="settings" db=0.1ms idle=1054.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:42:19.378 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:42:19.379 [error] #PID<0.149183.0> running PinchflatWeb.Endpoint (connection #PID<0.149182.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/439/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/3/media/439/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149182.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/439/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60550}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/439", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149183.0>, params: %{}, path_info: ["sources", "3", "media", "439", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/439"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/439/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTlLgrcHVOo018ABuUC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149182.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/439/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60550}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/439", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/439/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149182.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/439/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 60550}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/439", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149183.0>, params: %{}, path_info: ["sources", "3", "media", "439", "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.fisean.duckdns.org", (truncated) 01:42:36.508 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:00.245 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:43:06.509 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:19.826 [info] GET /sources/2/media/329/force_download 01:43:19.828 [debug] QUERY OK source="settings" db=0.5ms queue=0.8ms 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 [] 01:43:19.829 [debug] QUERY OK source="settings" db=0.2ms idle=1424.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:43:19.829 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:43:19.830 [error] #PID<0.149191.0> running PinchflatWeb.Endpoint (connection #PID<0.149190.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/2/media/329/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/329/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149190.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/329/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35716}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/329", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149191.0>, params: %{}, path_info: ["sources", "2", "media", "329", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/2/media/329"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/2/media/329/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTlPB3qjF5ivPIADKhh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149190.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/329/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35716}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/329", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/329/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149190.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/329/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35716}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/329", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149191.0>, params: %{}, path_info: ["sources", "2", "media", "329", "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.fisean.duckdns.org", (truncated) 01:43:36.511 [info] {"source":"oban","duration":1265,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:00.247 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:44:06.513 [info] {"source":"oban","duration":978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:22.204 [info] GET /sources/3/media/530/force_download 01:44:22.205 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1689.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:44:22.207 [debug] QUERY OK source="settings" db=0.9ms idle=881.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:44:22.207 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:44:22.209 [error] #PID<0.149198.0> running PinchflatWeb.Endpoint (connection #PID<0.149197.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/530/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/3/media/530/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149197.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/530/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35496}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/530", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149198.0>, params: %{}, path_info: ["sources", "3", "media", "530", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/530"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/530/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTlSqPxO1uQEKUABuWC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149197.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/530/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35496}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/530", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/530/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149197.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/530/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35496}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/530", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149198.0>, params: %{}, path_info: ["sources", "3", "media", "530", "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.fisean.duckdns.org", (truncated) 01:44:36.515 [info] {"source":"oban","duration":1163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:00.248 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:45:06.517 [info] {"source":"oban","duration":1310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:22.802 [info] GET /sources/2/media/324/force_download 01:45:22.803 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1478.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:45:22.804 [debug] QUERY OK source="settings" db=0.6ms idle=1479.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:45:22.805 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:45:22.805 [error] #PID<0.149206.0> running PinchflatWeb.Endpoint (connection #PID<0.149205.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/2/media/324/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/324/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149205.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/324/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35598}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/324", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149206.0>, params: %{}, path_info: ["sources", "2", "media", "324", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/2/media/324"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/2/media/324/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTlWL_fwThGNFcADKih"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149205.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/324/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35598}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/324", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/324/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149205.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/324/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 35598}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/324", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149206.0>, params: %{}, path_info: ["sources", "2", "media", "324", "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.fisean.duckdns.org", (truncated) 01:45:36.519 [info] {"source":"oban","duration":967,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:00.249 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:46:06.521 [info] {"source":"oban","duration":1722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:28.594 [info] GET /sources/3/media/433/force_download 01:46:28.595 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=803.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:46:28.596 [debug] QUERY OK source="settings" db=0.9ms 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 [] 01:46:28.597 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:46:28.598 [error] #PID<0.149213.0> running PinchflatWeb.Endpoint (connection #PID<0.149212.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/433/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/3/media/433/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149212.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/433/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42196}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/433", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149213.0>, params: %{}, path_info: ["sources", "3", "media", "433", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/433"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/433/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTlaBFcioze_4EACBMj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149212.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/433/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42196}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/433", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/433/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149212.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/433/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42196}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/433", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149213.0>, params: %{}, path_info: ["sources", "3", "media", "433", "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.fisean.duckdns.org", (truncated) 01:46:36.524 [info] {"source":"oban","duration":1334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:00.250 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:47:06.526 [info] {"source":"oban","duration":1142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:30.369 [info] GET /sources/3/media/533/force_download 01:47:30.371 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=444.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:47:30.372 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=47.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:47:30.372 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:47:30.373 [error] #PID<0.149221.0> running PinchflatWeb.Endpoint (connection #PID<0.149220.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/533/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/3/media/533/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149220.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/533/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57050}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/533", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149221.0>, params: %{}, path_info: ["sources", "3", "media", "533", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/533"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/533/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTldnN8NeOoLZQADKkB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149220.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/533/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57050}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/533", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/533/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149220.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/533/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57050}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/533", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149221.0>, params: %{}, path_info: ["sources", "3", "media", "533", "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.fisean.duckdns.org", (truncated) 01:47:36.528 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:00.252 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:48:06.530 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:32.726 [info] GET /sources/2/media/325/force_download 01:48:32.727 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=658.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:48:32.729 [debug] QUERY OK source="settings" db=0.6ms queue=0.5ms idle=403.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:48:32.729 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:48:32.730 [error] #PID<0.149228.0> running PinchflatWeb.Endpoint (connection #PID<0.149227.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/2/media/325/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/325/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149227.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/325/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45012}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/325", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149228.0>, params: %{}, path_info: ["sources", "2", "media", "325", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/2/media/325"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/2/media/325/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTlhPg3W_OioTkADKlB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149227.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/325/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45012}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/325", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/325/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149227.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/325/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 45012}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/325", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149228.0>, params: %{}, path_info: ["sources", "2", "media", "325", "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.fisean.duckdns.org", (truncated) 01:48:36.533 [info] {"source":"oban","duration":1884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:00.254 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:49:06.536 [info] {"source":"oban","duration":2236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:36.538 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:38.209 [info] GET /sources/2/media/326/force_download 01:49:38.210 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1884.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:49:38.211 [debug] QUERY OK source="settings" db=0.4ms idle=1885.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:49:38.211 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:49:38.212 [error] #PID<0.149236.0> running PinchflatWeb.Endpoint (connection #PID<0.149235.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/2/media/326/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/326/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149235.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/326/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39198}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/326", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149236.0>, params: %{}, path_info: ["sources", "2", "media", "326", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/2/media/326"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/2/media/326/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTllDdKy3FnB4oACBPD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149235.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/326/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39198}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/326", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/326/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149235.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/326/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39198}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/326", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149236.0>, params: %{}, path_info: ["sources", "2", "media", "326", "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.fisean.duckdns.org", (truncated) 01:50:00.256 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:50:06.540 [info] {"source":"oban","duration":1485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:36.543 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:39.214 [info] GET /sources/2/media/331/force_download 01:50:39.215 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1857.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:39.216 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=889.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:39.216 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:50:39.217 [error] #PID<0.149243.0> running PinchflatWeb.Endpoint (connection #PID<0.149242.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/2/media/331/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/331/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149242.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/331/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42018}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/331", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149243.0>, params: %{}, path_info: ["sources", "2", "media", "331", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/2/media/331"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/2/media/331/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTlomt9AVgrg5wABuYC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149242.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/331/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42018}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/331", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/331/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149242.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/331/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 42018}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/331", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149243.0>, params: %{}, path_info: ["sources", "2", "media", "331", "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.fisean.duckdns.org", (truncated) 01:51:00.258 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:51:06.545 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:36.547 [info] {"source":"oban","duration":1403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:39.246 [info] GET /media_profiles/2/edit 01:51:39.247 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 01:51:39.248 [debug] QUERY OK source="media_profiles" db=0.6ms idle=918.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 01:51:39.249 [debug] QUERY OK source="settings" db=0.4ms idle=919.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:39.250 [debug] QUERY OK source="settings" db=0.4ms idle=920.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:39.251 [debug] QUERY OK source="settings" db=0.1ms idle=921.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:39.252 [info] Sent 200 in 5ms 01:52:00.259 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:52:06.552 [info] {"source":"oban","duration":4010,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:36.554 [info] {"source":"oban","duration":1256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:41.226 [info] GET /media_profiles/1/edit 01:52:41.226 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 01:52:41.227 [debug] QUERY OK source="media_profiles" db=0.4ms idle=897.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] 01:52:41.228 [debug] QUERY OK source="settings" db=0.3ms idle=898.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:41.229 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=899.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:41.230 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=900.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:41.235 [info] Sent 200 in 9ms 01:53:00.260 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:53:06.557 [info] {"source":"oban","duration":2307,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:36.226 [info] GET /sources/2/media/325/edit 01:53:36.226 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "325", "source_id" => "2"} Pipelines: [:browser] 01:53:36.227 [debug] QUERY OK source="media_items" db=0.5ms idle=1895.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" = ?) [325] 01:53:36.228 [debug] QUERY OK source="settings" db=0.3ms idle=1897.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:36.229 [debug] QUERY OK source="settings" db=0.2ms idle=1897.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:36.231 [debug] QUERY OK source="settings" db=0.4ms idle=1509.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:36.233 [info] Sent 200 in 7ms 01:53:36.559 [info] {"source":"oban","duration":1335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:00.262 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:54:06.561 [info] {"source":"oban","duration":1428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:27.739 [info] GET /sources/2/media/332/edit 01:54:27.740 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "332", "source_id" => "2"} Pipelines: [:browser] 01:54:27.741 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1409.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" = ?) [332] 01:54:27.742 [debug] QUERY OK source="settings" db=0.4ms idle=900.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:27.743 [debug] QUERY OK source="settings" db=0.2ms idle=411.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:27.745 [debug] QUERY OK source="settings" db=0.1ms idle=413.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:27.746 [info] Sent 200 in 6ms 01:54:36.564 [info] {"source":"oban","duration":2185,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:00.263 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:55:06.566 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:15.034 [info] GET /sources/3/media/442/edit 01:55:15.034 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "442", "source_id" => "3"} Pipelines: [:browser] 01:55:15.036 [debug] QUERY OK source="media_items" db=0.7ms idle=1703.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [442] 01:55:15.037 [debug] QUERY OK source="settings" db=0.5ms idle=1704.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:15.037 [debug] QUERY OK source="settings" db=0.3ms idle=1100.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:15.038 [debug] QUERY OK source="settings" db=0.3ms idle=706.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:15.040 [info] Sent 200 in 5ms 01:55:36.568 [info] {"source":"oban","duration":1348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:56.586 [info] GET /sources/2/media/328/edit 01:55:56.586 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "328", "source_id" => "2"} Pipelines: [:browser] 01:55:56.588 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=565.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [328] 01:55:56.590 [debug] QUERY OK source="settings" db=0.4ms queue=0.5ms idle=256.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:56.591 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=257.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:56.592 [debug] QUERY OK source="settings" db=0.3ms idle=259.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:56.595 [info] Sent 200 in 8ms 01:56:00.265 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:56:06.569 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:32.156 [info] GET /sources/3/media/537/edit 01:56:32.157 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "537", "source_id" => "3"} Pipelines: [:browser] 01:56:32.158 [debug] QUERY OK source="media_items" db=0.5ms idle=1825.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" = ?) [537] 01:56:32.159 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1826.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:32.160 [debug] QUERY OK source="settings" db=0.4ms idle=1827.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:32.161 [debug] QUERY OK source="settings" db=0.5ms idle=1071.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:32.164 [info] Sent 200 in 7ms 01:56:36.571 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:00.266 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:57:06.311 [info] GET /sources/3/media/435/edit 01:57:06.311 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "435", "source_id" => "3"} Pipelines: [:browser] 01:57:06.312 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=979.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" = ?) [435] 01:57:06.313 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=980.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:06.313 [debug] QUERY OK source="settings" db=0.1ms idle=981.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:06.314 [debug] QUERY OK source="settings" db=0.1ms idle=981.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:06.316 [info] Sent 200 in 5ms 01:57:06.573 [info] {"source":"oban","duration":1460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:35.768 [info] GET /sources/2/media/330/edit 01:57:35.769 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "330", "source_id" => "2"} Pipelines: [:browser] 01:57:35.770 [debug] QUERY OK source="media_items" db=0.4ms idle=1437.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" = ?) [330] 01:57:35.771 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=548.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:35.772 [debug] QUERY OK source="settings" db=0.5ms idle=439.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:35.774 [debug] QUERY OK source="settings" db=0.4ms idle=441.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:35.776 [info] Sent 200 in 7ms 01:57:36.577 [info] {"source":"oban","duration":1879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:00.267 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:58:03.009 [info] GET /sources/3/media/511/edit 01:58:03.009 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "511", "source_id" => "3"} Pipelines: [:browser] 01:58:03.010 [debug] QUERY OK source="media_items" db=0.2ms idle=1677.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" = ?) [511] 01:58:03.010 [debug] QUERY OK source="settings" db=0.2ms idle=1677.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:03.011 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=1678.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:03.013 [debug] QUERY OK source="settings" db=0.2ms queue=0.3ms idle=1679.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:03.015 [info] Sent 200 in 5ms 01:58:06.580 [info] {"source":"oban","duration":1954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:26.488 [info] GET /sources/2/media/329/edit 01:58:26.489 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "329", "source_id" => "2"} Pipelines: [:browser] 01:58:26.490 [debug] QUERY OK source="media_items" db=0.5ms idle=156.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [329] 01:58:26.491 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=157.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:26.493 [debug] QUERY OK source="settings" db=0.8ms queue=0.6ms idle=158.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:26.495 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=160.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:26.498 [info] Sent 200 in 9ms 01:58:36.582 [info] {"source":"oban","duration":1479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:48.382 [info] GET /sources/3/media/437/edit 01:58:48.383 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "437", "source_id" => "3"} Pipelines: [:browser] 01:58:48.385 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=983.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" = ?) [437] 01:58:48.387 [debug] QUERY OK source="settings" db=0.3ms queue=0.7ms idle=52.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:48.387 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=54.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:48.389 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=55.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:48.390 [info] Sent 200 in 7ms 01:59:00.268 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:59:06.584 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:08.469 [info] GET /sources/2/media/324/edit 01:59:08.469 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "324", "source_id" => "2"} Pipelines: [:browser] 01:59:08.469 [debug] QUERY OK source="media_items" db=0.2ms idle=136.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" = ?) [324] 01:59:08.470 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=136.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:08.471 [debug] QUERY OK source="settings" db=0.5ms 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 [] 01:59:08.472 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=138.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:08.474 [info] Sent 200 in 4ms 01:59:26.432 [info] GET /sources/3/media/431/edit 01:59:26.432 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "431", "source_id" => "3"} Pipelines: [:browser] 01:59:26.432 [debug] QUERY OK source="media_items" db=0.1ms idle=975.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [431] 01:59:26.433 [debug] QUERY OK source="settings" db=0.1ms idle=99.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:26.433 [debug] QUERY OK source="settings" db=0.2ms idle=99.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:26.434 [debug] QUERY OK source="settings" db=0.5ms idle=100.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:26.435 [info] Sent 200 in 3ms 01:59:36.586 [info] {"source":"oban","duration":1247,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:42.157 [info] GET /sources/3/media/535/edit 01:59:42.157 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "535", "source_id" => "3"} Pipelines: [:browser] 01:59:42.158 [debug] QUERY OK source="media_items" db=0.4ms idle=1824.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [535] 01:59:42.159 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1825.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:42.160 [debug] QUERY OK source="settings" db=0.2ms idle=1826.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:42.162 [debug] QUERY OK source="settings" db=0.4ms idle=1677.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:42.164 [info] Sent 200 in 7ms 01:59:57.046 [info] GET /sources/2/media/326/edit 01:59:57.046 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "326", "source_id" => "2"} Pipelines: [:browser] 01:59:57.047 [debug] QUERY OK source="media_items" db=0.4ms idle=1713.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [326] 01:59:57.049 [debug] QUERY OK source="settings" db=0.7ms idle=1714.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:57.049 [debug] QUERY OK source="settings" db=0.3ms idle=1715.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:57.051 [debug] QUERY OK source="settings" db=0.3ms idle=1532.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:57.053 [info] Sent 200 in 7ms 02:00:00.274 [info] {"source":"oban","duration":3651,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[416]} 02:00:00.283 [info] {"args":{},"id":416,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1771293600283223880,"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"]} 02:00:00.303 [debug] QUERY OK source="media_items" db=18.5ms idle=1951.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) 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) ) [] 02:00:00.303 [info] Redownloading 0 media items 02:00:00.305 [info] {"args":{},"id":416,"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":20427,"event":"job:stop","queue_time":279071,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:00:06.588 [info] {"source":"oban","duration":1480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:10.525 [info] GET /sources/2/media/331/edit 02:00:10.525 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "331", "source_id" => "2"} Pipelines: [:browser] 02:00:10.526 [debug] QUERY OK source="media_items" db=0.4ms idle=1192.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [331] 02:00:10.527 [debug] QUERY OK source="settings" db=0.6ms idle=1193.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:10.528 [debug] QUERY OK source="settings" db=0.5ms idle=1194.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:10.529 [debug] QUERY OK source="settings" db=0.5ms idle=982.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:10.530 [info] Sent 200 in 5ms 02:00:22.096 [info] GET /sources/3/media/439/edit 02:00:22.097 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "439", "source_id" => "3"} Pipelines: [:browser] 02:00:22.099 [debug] QUERY OK source="media_items" db=0.8ms idle=1764.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [439] 02:00:22.100 [debug] QUERY OK source="settings" db=0.5ms idle=1766.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:22.101 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1767.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:22.102 [debug] QUERY OK source="settings" db=0.5ms idle=1532.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:22.105 [info] Sent 200 in 8ms 02:00:32.304 [info] GET /sources/2/media/327/edit 02:00:32.304 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "327", "source_id" => "2"} Pipelines: [:browser] 02:00:32.305 [debug] QUERY OK source="media_items" db=0.4ms idle=972.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [327] 02:00:32.307 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=973.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:32.308 [debug] QUERY OK source="settings" db=0.3ms queue=0.6ms idle=974.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:32.310 [debug] QUERY OK source="settings" db=0.3ms idle=976.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:32.312 [info] Sent 200 in 7ms 02:00:36.590 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:41.762 [info] GET /sources/3/media/530/edit 02:00:41.762 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "530", "source_id" => "3"} Pipelines: [:browser] 02:00:41.763 [debug] QUERY OK source="media_items" db=0.4ms idle=1150.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [530] 02:00:41.764 [debug] QUERY OK source="settings" db=0.3ms idle=431.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:41.765 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=431.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:41.767 [debug] QUERY OK source="settings" db=0.3ms idle=433.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:41.769 [info] Sent 200 in 7ms 02:00:50.032 [info] GET /sources/3/media/522/edit 02:00:50.032 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "522", "source_id" => "3"} Pipelines: [:browser] 02:00:50.033 [debug] QUERY OK source="media_items" db=0.4ms idle=699.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [522] 02:00:50.035 [debug] QUERY OK source="settings" db=1.4ms idle=700.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:50.036 [debug] QUERY OK source="settings" db=0.4ms idle=702.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:50.036 [debug] QUERY OK source="settings" db=0.4ms idle=703.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:50.038 [info] Sent 200 in 5ms 02:00:57.623 [info] GET /sources/3/media/539/edit 02:00:57.623 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "539", "source_id" => "3"} Pipelines: [:browser] 02:00:57.624 [debug] QUERY OK source="media_items" db=0.6ms idle=975.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [539] 02:00:57.625 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=286.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:57.626 [debug] QUERY OK source="settings" db=0.3ms idle=287.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:57.628 [debug] QUERY OK source="settings" db=0.4ms idle=289.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:57.631 [info] Sent 200 in 8ms 02:01:00.275 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:01:04.587 [info] GET /sources/3/media/513/edit 02:01:04.587 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "513", "source_id" => "3"} Pipelines: [:browser] 02:01:04.588 [debug] QUERY OK source="media_items" db=0.5ms idle=1249.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [513] 02:01:04.590 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1250.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:04.590 [debug] QUERY OK source="settings" db=0.2ms idle=1252.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:04.591 [debug] QUERY OK source="settings" db=0.1ms idle=1252.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:04.592 [info] Sent 200 in 5ms 02:01:06.592 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:10.843 [info] GET /sources/3/media/444/force_download 02:01:10.844 [debug] QUERY OK source="settings" db=0.3ms idle=506.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:10.845 [debug] QUERY OK source="settings" db=0.3ms idle=506.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:10.845 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:01:10.846 [error] #PID<0.149350.0> running PinchflatWeb.Endpoint (connection #PID<0.149349.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/media/444/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/3/media/444/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149349.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/444/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43842}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWUFfMGhVa1FhbHdadmlRR2VCNDIxaVJV.NSCBE5b05G2n7xvFBVhRk0_siiTY5wWAvum0N_GuJnU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/444", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWUFfMGhVa1FhbHdadmlRR2VCNDIxaVJV.NSCBE5b05G2n7xvFBVhRk0_siiTY5wWAvum0N_GuJnU" }, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149350.0>, params: %{}, path_info: ["sources", "3", "media", "444", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWUFfMGhVa1FhbHdadmlRR2VCNDIxaVJV.NSCBE5b05G2n7xvFBVhRk0_siiTY5wWAvum0N_GuJnU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWUFfMGhVa1FhbHdadmlRR2VCNDIxaVJV.NSCBE5b05G2n7xvFBVhRk0_siiTY5wWAvum0N_GuJnU"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3/media/444"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/media/444/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTmNXuKEWGNJt8ABuui"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149349.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/444/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43842}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWUFfMGhVa1FhbHdadmlRR2VCNDIxaVJV.NSCBE5b05G2n7xvFBVhRk0_siiTY5wWAvum0N_GuJnU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/444", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/444/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149349.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/444/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43842}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWUFfMGhVa1FhbHdadmlRR2VCNDIxaVJV.NSCBE5b05G2n7xvFBVhRk0_siiTY5wWAvum0N_GuJnU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3/media/444", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-has (truncated) 02:01:16.435 [info] GET /sources/2/media/333/force_download 02:01:16.436 [debug] QUERY OK source="settings" db=0.1ms idle=745.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:16.436 [debug] QUERY OK source="settings" db=0.1ms idle=98.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:16.436 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:01:16.437 [error] #PID<0.149353.0> running PinchflatWeb.Endpoint (connection #PID<0.149352.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/2/media/333/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/333/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149352.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/333/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43846}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWUFfMGhVa1FhbHdadmlRR2VCNDIxaVJV.NSCBE5b05G2n7xvFBVhRk0_siiTY5wWAvum0N_GuJnU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/333", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWUFfMGhVa1FhbHdadmlRR2VCNDIxaVJV.NSCBE5b05G2n7xvFBVhRk0_siiTY5wWAvum0N_GuJnU" }, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149353.0>, params: %{}, path_info: ["sources", "2", "media", "333", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWUFfMGhVa1FhbHdadmlRR2VCNDIxaVJV.NSCBE5b05G2n7xvFBVhRk0_siiTY5wWAvum0N_GuJnU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWUFfMGhVa1FhbHdadmlRR2VCNDIxaVJV.NSCBE5b05G2n7xvFBVhRk0_siiTY5wWAvum0N_GuJnU"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/2/media/333"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/2/media/333/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTmNsjcMmolSpwABuvC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149352.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/333/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43846}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWUFfMGhVa1FhbHdadmlRR2VCNDIxaVJV.NSCBE5b05G2n7xvFBVhRk0_siiTY5wWAvum0N_GuJnU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/333", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/333/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149352.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/333/force_download", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 43846}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWUFfMGhVa1FhbHdadmlRR2VCNDIxaVJV.NSCBE5b05G2n7xvFBVhRk0_siiTY5wWAvum0N_GuJnU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2/media/333", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-has (truncated) 02:01:32.800 [info] GET /sources/3/media/526/edit 02:01:32.801 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "526", "source_id" => "3"} Pipelines: [:browser] 02:01:32.802 [debug] QUERY OK source="media_items" db=0.7ms idle=462.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" = ?) [526] 02:01:32.803 [debug] QUERY OK source="settings" db=0.4ms idle=464.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:32.804 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=464.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:32.807 [debug] QUERY OK source="settings" db=1.4ms idle=466.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:32.811 [info] Sent 200 in 10ms 02:01:36.594 [info] {"source":"oban","duration":1441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:00.276 [info] {"source":"oban","duration":324,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:02:06.597 [info] {"source":"oban","duration":2374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:22.399 [info] GET /sources/3/media/520/edit 02:02:22.400 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "520", "source_id" => "3"} Pipelines: [:browser] 02:02:22.401 [debug] QUERY OK source="media_items" db=0.9ms idle=564.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [520] 02:02:22.403 [debug] QUERY OK source="settings" db=0.4ms idle=63.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:22.403 [debug] QUERY OK source="settings" db=0.4ms idle=63.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:22.404 [debug] QUERY OK source="settings" db=0.4ms idle=65.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:22.406 [info] Sent 200 in 6ms 02:02:36.599 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:00.277 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:03:06.548 [info] GET /sources/3/media/507/edit 02:03:06.548 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "507", "source_id" => "3"} Pipelines: [:browser] 02:03:06.550 [debug] QUERY OK source="media_items" db=0.6ms idle=1210.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [507] 02:03:06.551 [debug] QUERY OK source="settings" db=0.3ms idle=627.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.552 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=212.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:06.553 [debug] QUERY OK source="settings" db=0.3ms idle=213.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.554 [info] Sent 200 in 6ms 02:03:06.602 [info] {"source":"oban","duration":1437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:36.603 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:47.887 [info] GET /sources/3/media/524/edit 02:03:47.887 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "524", "source_id" => "3"} Pipelines: [:browser] 02:03:47.888 [debug] QUERY OK source="media_items" db=0.6ms idle=1547.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" = ?) [524] 02:03:47.889 [debug] QUERY OK source="settings" db=0.2ms idle=1548.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.890 [debug] QUERY OK source="settings" db=0.4ms idle=1549.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.891 [debug] QUERY OK source="settings" db=0.2ms idle=1550.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.893 [info] Sent 200 in 6ms 02:04:00.278 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:04:06.605 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:24.998 [info] GET /sources/3/media/517/edit 02:04:24.999 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "517", "source_id" => "3"} Pipelines: [:browser] 02:04:25.000 [debug] QUERY OK source="media_items" db=0.7ms idle=1656.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" = ?) [517] 02:04:25.003 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=1657.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.003 [debug] QUERY OK source="settings" db=0.2ms idle=1659.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.004 [debug] QUERY OK source="settings" db=0.5ms idle=913.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.005 [info] Sent 200 in 6ms 02:04:36.607 [info] {"source":"oban","duration":1346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:58.243 [info] GET /sources/3/media/516/edit 02:04:58.243 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "516", "source_id" => "3"} Pipelines: [:browser] 02:04:58.244 [debug] QUERY OK source="media_items" db=0.5ms idle=1900.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [516] 02:04:58.245 [debug] QUERY OK source="settings" db=0.3ms idle=1901.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.246 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1902.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.248 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1081.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.251 [info] Sent 200 in 7ms 02:05:00.279 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:05:06.609 [info] {"source":"oban","duration":1337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:28.247 [info] GET /sources/3/media/529/edit 02:05:28.248 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "529", "source_id" => "3"} Pipelines: [:browser] 02:05:28.249 [debug] QUERY OK source="media_items" db=0.5ms idle=1016.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [529] 02:05:28.250 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=906.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:28.251 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=907.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:28.251 [debug] QUERY OK source="settings" db=0.1ms idle=908.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:28.252 [info] Sent 200 in 5ms 02:05:36.611 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:54.832 [info] GET /sources/3/media/510/edit 02:05:54.832 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "510", "source_id" => "3"} Pipelines: [:browser] 02:05:54.834 [debug] QUERY OK source="media_items" db=1.2ms idle=1489.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" = ?) [510] 02:05:54.835 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1491.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:54.836 [debug] QUERY OK source="settings" db=0.5ms idle=1492.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:54.838 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=543.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:54.841 [info] Sent 200 in 9ms 02:06:00.280 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:06:06.613 [info] {"source":"oban","duration":1844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:18.885 [info] GET /sources/8/force_index 02:06:18.887 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=543.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:18.888 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=544.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:18.889 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:06:18.890 [error] #PID<0.149400.0> running PinchflatWeb.Endpoint (connection #PID<0.149399.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/8/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/8/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149399.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 33624}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc09seEppNlVsVTJTa0N4dVd5YXd6dWxp.RYu5Ri3EmXgVTBE-4gryonN76NuhNL-KM9qqzPOqHrQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc09seEppNlVsVTJTa0N4dVd5YXd6dWxp.RYu5Ri3EmXgVTBE-4gryonN76NuhNL-KM9qqzPOqHrQ" }, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149400.0>, params: %{}, path_info: ["sources", "8", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc09seEppNlVsVTJTa0N4dVd5YXd6dWxp.RYu5Ri3EmXgVTBE-4gryonN76NuhNL-KM9qqzPOqHrQ" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc09seEppNlVsVTJTa0N4dVd5YXd6dWxp.RYu5Ri3EmXgVTBE-4gryonN76NuhNL-KM9qqzPOqHrQ"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/8"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/8/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTmfTRHo_hzTksABu6C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149399.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 33624}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc09seEppNlVsVTJTa0N4dVd5YXd6dWxp.RYu5Ri3EmXgVTBE-4gryonN76NuhNL-KM9qqzPOqHrQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149399.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 33624}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc09seEppNlVsVTJTa0N4dVd5YXd6dWxp.RYu5Ri3EmXgVTBE-4gryonN76NuhNL-KM9qqzPOqHrQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", (truncated) 02:06:36.616 [info] {"source":"oban","duration":1441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:41.504 [info] GET /sources/3/force_index 02:06:41.506 [debug] QUERY OK source="settings" db=1.0ms idle=1161.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:41.507 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1163.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:41.507 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:06:41.509 [error] #PID<0.149402.0> running PinchflatWeb.Endpoint (connection #PID<0.149401.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/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/3/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149401.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 32918}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc09seEppNlVsVTJTa0N4dVd5YXd6dWxp.RYu5Ri3EmXgVTBE-4gryonN76NuhNL-KM9qqzPOqHrQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc09seEppNlVsVTJTa0N4dVd5YXd6dWxp.RYu5Ri3EmXgVTBE-4gryonN76NuhNL-KM9qqzPOqHrQ" }, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149402.0>, params: %{}, path_info: ["sources", "3", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc09seEppNlVsVTJTa0N4dVd5YXd6dWxp.RYu5Ri3EmXgVTBE-4gryonN76NuhNL-KM9qqzPOqHrQ" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc09seEppNlVsVTJTa0N4dVd5YXd6dWxp.RYu5Ri3EmXgVTBE-4gryonN76NuhNL-KM9qqzPOqHrQ"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTmgnhytPcW1joABu6i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149401.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 32918}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc09seEppNlVsVTJTa0N4dVd5YXd6dWxp.RYu5Ri3EmXgVTBE-4gryonN76NuhNL-KM9qqzPOqHrQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149401.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 32918}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc09seEppNlVsVTJTa0N4dVd5YXd6dWxp.RYu5Ri3EmXgVTBE-4gryonN76NuhNL-KM9qqzPOqHrQ", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", (truncated) 02:07:00.281 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:07:06.619 [info] {"source":"oban","duration":1930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:36.621 [info] {"source":"oban","duration":1470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:42.398 [info] GET /sources/2/force_index 02:07:42.400 [debug] QUERY OK source="settings" db=0.7ms idle=1055.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.401 [debug] QUERY OK source="settings" db=0.6ms idle=922.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.401 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:07:42.403 [error] #PID<0.149410.0> running PinchflatWeb.Endpoint (connection #PID<0.149409.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/2/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149409.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41696}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149410.0>, params: %{}, path_info: ["sources", "2", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/2"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/2/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTmkKYHf23WN4gABu8C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149409.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41696}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149409.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41696}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149410.0>, params: %{}, path_info: ["sources", "2", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, (truncated) 02:08:00.282 [info] {"source":"oban","duration":343,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:08:06.624 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:36.626 [info] {"source":"oban","duration":1347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:45.855 [info] GET /sources/5/force_index 02:08:45.856 [debug] QUERY OK source="settings" db=1.0ms idle=1510.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:45.858 [debug] QUERY OK source="settings" db=0.6ms idle=1512.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:45.858 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:08:45.858 [error] #PID<0.149417.0> running PinchflatWeb.Endpoint (connection #PID<0.149416.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/5/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149416.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 48586}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149417.0>, params: %{}, path_info: ["sources", "5", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/5"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/5/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTmn2xUfRGSzIEABu9i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149416.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 48586}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149416.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 48586}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149417.0>, params: %{}, path_info: ["sources", "5", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, (truncated) 02:09:00.283 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:09:06.629 [info] {"source":"oban","duration":2846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:36.632 [info] {"source":"oban","duration":1334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:47.994 [info] GET /sources/4/force_index 02:09:47.995 [debug] QUERY OK source="settings" db=0.8ms idle=1648.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.996 [debug] QUERY OK source="settings" db=0.1ms idle=1252.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:09:47.996 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:09:47.996 [error] #PID<0.149425.0> running PinchflatWeb.Endpoint (connection #PID<0.149424.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/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/4/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149424.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57076}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149425.0>, params: %{}, path_info: ["sources", "4", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTmreQbLHihjSkABu_C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149424.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57076}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149424.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 57076}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149425.0>, params: %{}, path_info: ["sources", "4", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, (truncated) 02:10:00.284 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:10:06.634 [info] {"source":"oban","duration":1403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:36.637 [info] {"source":"oban","duration":1934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:53.122 [info] GET /sources/6/force_index 02:10:53.124 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=1776.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:53.126 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1234.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:53.126 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:53.127 [error] #PID<0.149434.0> running PinchflatWeb.Endpoint (connection #PID<0.149433.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/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/6/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149433.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 52644}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149434.0>, params: %{}, path_info: ["sources", "6", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTmvQ4T7KnG7nsABvBC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149433.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 52644}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149433.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 52644}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149434.0>, params: %{}, path_info: ["sources", "6", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, (truncated) 02:11:00.285 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:11:06.639 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:36.641 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:55.348 [info] GET /sources/7/force_index 02:11:55.349 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1002.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:55.349 [debug] QUERY OK source="settings" db=0.2ms idle=1002.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:55.350 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:55.351 [error] #PID<0.149442.0> running PinchflatWeb.Endpoint (connection #PID<0.149441.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/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/7/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149441.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50716}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149442.0>, params: %{}, path_info: ["sources", "7", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTmy4r8tF2ri7oABvCi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149441.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50716}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149441.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50716}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149442.0>, params: %{}, path_info: ["sources", "7", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, (truncated) 02:12:00.286 [info] {"source":"oban","duration":158,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:12:06.643 [info] {"source":"oban","duration":1270,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:36.645 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:57.763 [info] GET /sources/9/force_index 02:12:57.764 [debug] QUERY OK source="settings" db=0.3ms idle=1416.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:57.765 [debug] QUERY OK source="settings" db=0.6ms idle=1417.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:57.765 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:12:57.767 [error] #PID<0.149449.0> running PinchflatWeb.Endpoint (connection #PID<0.149448.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/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/9/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149448.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56432}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149449.0>, params: %{}, path_info: ["sources", "9", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTm2hM2GIW10x0ABvEC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149448.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56432}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149448.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/force_index", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 56432}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149449.0>, params: %{}, path_info: ["sources", "9", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, (truncated) 02:13:00.287 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:13:06.646 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:36.648 [info] {"source":"oban","duration":1470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:00.288 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:14:00.386 [info] GET /sources/3/sync_files_on_disk 02:14:00.388 [debug] QUERY OK source="settings" db=0.6ms idle=1040.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.389 [debug] QUERY OK source="settings" db=0.5ms idle=1041.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.389 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:14:00.390 [error] #PID<0.149457.0> running PinchflatWeb.Endpoint (connection #PID<0.149456.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/3/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/3/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149456.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41918}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149457.0>, params: %{}, path_info: ["sources", "3", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/3"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/3/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTm6Kfg-uJ3UlcADKqB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149456.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41918}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149456.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 41918}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/3", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149457.0>, params: %{}, path_info: ["sources", "3", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logge (truncated) 02:14:06.652 [info] {"source":"oban","duration":1957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:36.654 [info] {"source":"oban","duration":1275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:00.290 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:15:04.858 [info] GET /sources/5/sync_files_on_disk 02:15:04.859 [debug] QUERY OK source="settings" db=0.3ms idle=1419.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:04.860 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=512.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.860 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:15:04.861 [error] #PID<0.149465.0> running PinchflatWeb.Endpoint (connection #PID<0.149464.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/5/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/5/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149464.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46384}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149465.0>, params: %{}, path_info: ["sources", "5", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/5"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/5/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTm96qwBdT0IvYABvGC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149464.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46384}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149464.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46384}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/5", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149465.0>, params: %{}, path_info: ["sources", "5", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logge (truncated) 02:15:06.656 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:36.659 [info] {"source":"oban","duration":1904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.291 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:16:06.661 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:07.883 [info] GET /sources/9/sync_files_on_disk 02:16:07.884 [debug] QUERY OK source="settings" db=0.3ms idle=1536.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:07.884 [debug] QUERY OK source="settings" db=0.5ms idle=1312.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.885 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:16:07.886 [error] #PID<0.149472.0> running PinchflatWeb.Endpoint (connection #PID<0.149471.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/9/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/9/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149471.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 37500}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149472.0>, params: %{}, path_info: ["sources", "9", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/9"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/9/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTnBlc_UURo2McABvHi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149471.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 37500}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149471.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 37500}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/9", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149472.0>, params: %{}, path_info: ["sources", "9", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logge (truncated) 02:16:36.663 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:00.292 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:17:06.664 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:13.294 [info] GET /sources/8/sync_files_on_disk 02:17:13.295 [debug] QUERY OK source="settings" db=0.3ms idle=1947.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.296 [debug] QUERY OK source="settings" db=0.4ms idle=1589.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.296 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:17:13.297 [error] #PID<0.149480.0> running PinchflatWeb.Endpoint (connection #PID<0.149479.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/8/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/8/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149479.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 55200}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149480.0>, params: %{}, path_info: ["sources", "8", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/8"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/8/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTnFZITGWcvnHUABvJC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149479.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 55200}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149479.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 55200}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/8", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149480.0>, params: %{}, path_info: ["sources", "8", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logge (truncated) 02:17:36.666 [info] {"source":"oban","duration":1435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:00.294 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:18:06.668 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:15.330 [info] GET /sources/2/sync_files_on_disk 02:18:15.331 [debug] QUERY OK source="settings" db=0.3ms idle=979.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:15.333 [debug] QUERY OK source="settings" db=0.7ms idle=980.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:15.333 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:18:15.334 [error] #PID<0.149488.0> running PinchflatWeb.Endpoint (connection #PID<0.149487.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/2/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149487.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 34414}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149488.0>, params: %{}, path_info: ["sources", "2", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/2"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/2/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTnJAO4ySJIRmsADKrB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149487.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 34414}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149487.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 34414}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/2", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149488.0>, params: %{}, path_info: ["sources", "2", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logge (truncated) 02:18:36.670 [info] {"source":"oban","duration":1109,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:00.295 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:19:06.672 [info] {"source":"oban","duration":1495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:20.638 [info] GET /sources/6/sync_files_on_disk 02:19:20.639 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=654.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.640 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=288.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.640 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:19:20.642 [error] #PID<0.149498.0> running PinchflatWeb.Endpoint (connection #PID<0.149497.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/6/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/6/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149497.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46136}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149498.0>, params: %{}, path_info: ["sources", "6", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/6"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/6/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTnMzhg7DzYSOwABvLi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149497.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46136}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149497.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 46136}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/6", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149498.0>, params: %{}, path_info: ["sources", "6", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logge (truncated) 02:19:36.674 [info] {"source":"oban","duration":1454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:00.297 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:20:06.676 [info] {"source":"oban","duration":1337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:24.322 [info] GET /sources/4/sync_files_on_disk 02:20:24.323 [debug] QUERY OK source="settings" db=0.4ms idle=1971.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.325 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1972.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.325 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:20:24.326 [error] #PID<0.149505.0> running PinchflatWeb.Endpoint (connection #PID<0.149504.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/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/4/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149504.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39510}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149505.0>, params: %{}, path_info: ["sources", "4", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTnQgw7fKc6N-cADKsB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149504.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39510}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149504.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 39510}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149505.0>, params: %{}, path_info: ["sources", "4", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logge (truncated) 02:20:36.678 [info] {"source":"oban","duration":1348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:00.298 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:21:06.680 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:25.920 [info] GET /sources/7/sync_files_on_disk 02:21:25.921 [debug] QUERY OK source="settings" db=0.1ms idle=1569.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.921 [debug] QUERY OK source="settings" db=0.1ms idle=1569.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.921 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:21:25.921 [error] #PID<0.149513.0> running PinchflatWeb.Endpoint (connection #PID<0.149512.0>, stream id 1) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/7/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/7/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149512.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50164}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149513.0>, params: %{}, path_info: ["sources", "7", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/7"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/7/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTnUGPCX3AKwgcABvOC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149512.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50164}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149512.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/sync_files_on_disk", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 50164}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/7", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149513.0>, params: %{}, path_info: ["sources", "7", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logge (truncated) 02:21:36.682 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:00.300 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:22:06.685 [info] {"source":"oban","duration":2308,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:27.104 [info] GET /media_profiles/new 02:22:27.104 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 02:22:27.105 [debug] QUERY OK source="settings" db=0.3ms idle=1751.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:27.106 [debug] QUERY OK source="settings" db=0.5ms idle=1712.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:22:27.107 [debug] QUERY OK source="settings" db=0.4ms idle=753.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:27.108 [debug] QUERY OK source="settings" db=0.4ms idle=755.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:27.110 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=713.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:27.114 [info] Sent 200 in 9ms 02:22:27.496 [info] GET /sources/4/force_redownload 02:22:27.497 [debug] QUERY OK source="settings" db=0.1ms idle=390.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:27.497 [debug] QUERY OK source="settings" db=0.1ms idle=389.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:22:27.497 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:22:27.497 [error] #PID<0.149522.0> running PinchflatWeb.Endpoint (connection #PID<0.149519.0>, stream id 3) terminated Server: pinchflat.fisean.duckdns.org:80 (http) Request: GET /sources/4/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/4/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149519.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/force_redownload", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 38790}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149522.0>, params: %{}, path_info: ["sources", "4", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 25, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.fisean.duckdns.org"}, {"referer", "https://pinchflat.fisean.duckdns.org/sources/4"}, {"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.241.39"}, {"x-forwarded-host", "pinchflat.fisean.duckdns.org"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "892411523"} ], request_path: "/sources/4/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJTnXrn5ysHNnjIABvQC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149519.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/force_redownload", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 38790}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.149519.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/force_redownload", host: "pinchflat.fisean.duckdns.org", peer: {{172, 25, 0, 1}, 38790}, bindings: %{}, sock: {{172, 25, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.fisean.duckdns.org", "referer" => "https://pinchflat.fisean.duckdns.org/sources/4", "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.241.39", "x-forwarded-host" => "pinchflat.fisean.duckdns.org", "x-forwarded-proto" => "https", "x-openai-host-hash" => "892411523" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.fisean.duckdns.org", method: "GET", owner: #PID<0.149522.0>, params: %{}, path_info: ["sources", "4", "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.fisean.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logge (truncated)